Python 如何获取包含字典值和键的列表?

Python 如何获取包含字典值和键的列表?,python,dictionary,Python,Dictionary,我试图了解生成包含字典值和键的列表的最有效方法是什么。我尝试过使用.items()函数,但结果很差,因为items()返回一个元组列表,然后导入其他模块时必须将其展平。目前我正在使用: zdict = { 'a':1,'b':2,'c':3} mylistofvaluesandkeys = list(zdict) + list(zdict.keys())) 我正在查找的结果是一个列表,例如,[1,2,3,'a','b','c'],其中我以任意顺序列出了所有元素 有没有更好的方法来执行此任务?您

我试图了解生成包含字典值和键的列表的最有效方法是什么。我尝试过使用
.items()
函数,但结果很差,因为
items()
返回一个元组列表,然后导入其他模块时必须将其展平。目前我正在使用:

zdict = { 'a':1,'b':2,'c':3}
mylistofvaluesandkeys = list(zdict) + list(zdict.keys()))
我正在查找的结果是一个列表,例如,
[1,2,3,'a','b','c']
,其中我以任意顺序列出了所有元素


有没有更好的方法来执行此任务?

您可以使用
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']
导入itertools >>>itertools.chain(zdict.values(),zdict.keys()) >>>列表(itertools.chain(zdict.values(),zdict.keys()) [1,2,3,'a','b','c']
如果可以接受将键与值混合,则只需执行以下操作:

from itertools import chain

list(chain(*zdict.items()))
结果是:

['a', 1, 'b', 2, 'c', 3]

您要查找的结果是
[1,2,3,a,b,c]
对吗?预期的输出是什么?您需要什么特别的订单吗?例如,值和键可以混合在一起吗?获取键和值的一个简单方法是使用
*操作符
,例如
result=[*zdict,*zdict.values()]
@RiccardoBucco它们可以混合在一起。即使现在问题已经结束,我也很感激您的回答。@NewPythonUser这似乎是一个不错的选择,很抱歉您无法将其作为答案
chain发布。from_iterable(zdict.items())
…@deceze
chain。from_iterable
是您处理大型iterables时的首选方法。它允许您不能同时使用所有元素。但我认为情况并非如此,因为我们正在处理内存中的词典。谢谢你的贡献,顺便说一句,它在其他情况下也很有用:)