我有这本字典:
>>> times
{'time':[0,1,0], 'time_d':[0,1,0], 'time_up':[0,0,0]}
我想要这样的输出,值的顺序很重要!:
0 1 0 0 1 0 0 0 0
# 0 1 0 | 0 1 0 | 0 0 0 === time | time_d | time_up items of the list
更准确地说,我想要一个这样的列表:
[0,1,0,0,1,0,0,0,0]
不使用print()
。
如果没有列表理解,我可以这样做:
tmp = []
for x in times.values():
for y in x:
tmp.append(y)
我尝试使用一些列表理解,但任何人都可以工作,就像这两个:
>>> [y for x in x for x in times.values()]
[0,0,0,0,0,0,0,0,0]
>>> [[y for x in x] for x in times.values()]
[[0,0,0],[0,0,0],[0,0,0]
如何用一行解决这个问题(列表理解)?
最佳答案
根据字典,您已经知道想要什么值,因此在制作列表时,请坚持明确地说明您希望从字典中获得什么值:
d = {'time':[0,1,0], 'time_d':[0,1,0], 'time_up':[0,0,0]}
v = [*d['time'], *d['time_d'], *d['time_up']]
print(v)
输出:
[0, 1, 0, 0, 1, 0, 0, 0, 0]
关于python - 如何进行嵌套列表理解 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45250095/