我需要在循环中创建一个包含多个值的临时变量列表。
我需要在循环中创建一个包含多个值的临时变量列表。
这个问题已经有答案了:
marks={"Farah":[20,40,50,33],"Ali":[45,38,24,50],"Sarah":[50,43,44,39]} print(" " ,list(marks.keys()) , "-\n", list(marks.values())) for key,value in marks.items(): for j in marks.values(): for k in (j): print(k)
这是我的代码,我需要获取所有存储在k中的变量的列表,它们是20、40、50、33、45、38、24、50、50、43、44、39。
admin 更改状态以发布 2023年5月24日
你可以使用 itertools.chain
:
from itertools import chain marks={"Farah":[20,40,50,33],"Ali":[45,38,24,50],"Sarah":[50,43,44,39]} output = list(chain(*marks.values())) print(output) # [20, 40, 50, 33, 45, 38, 24, 50, 50, 43, 44, 39]
注意,在 python 版本低于 3.7 的情况下,列表中的顺序可能会不同。
另外,如果你需要使用 for
循环(例如,因为你正在执行其他操作)并且需要存储临时值,则可以先创建一个空列表,然后在每次迭代时将值附加到列表中:
output = [] for val_list in marks.values(): for v in val_list: print(v) output.append(v) print(output)