我试图了解什么是产生包含字典值和键的列表的最有效方法。我尝试使用.items()
函数,但效果不佳,因为items()
返回了一个元组列表,然后我不得不拼合导入其他模块。目前,我正在使用:
zdict = { 'a':1,'b':2,'c':3}
mylistofvaluesandkeys = list(zdict) + list(zdict.keys()))
我正在寻找的结果是一个列表,例如[1, 2, 3, 'a', 'b', 'c']
中的所有元素均以任意顺序排列。
是否有更好的方法来执行此任务?
答案 0 :(得分:2)
您可以通过itertools
懒惰地完成它:
>>> import itertools
>>> itertools.chain(zdict.values(), zdict.keys())
<itertools.chain object at 0x10a25a9d0>
>>> list(itertools.chain(zdict.values(), zdict.keys()))
[1, 2, 3, 'a', 'b', 'c']
答案 1 :(得分:1)
如果可以将键与值混合在一起,则可以执行以下操作:
from itertools import chain
list(chain(*zdict.items()))
这是结果:
['a', 1, 'b', 2, 'c', 3]