从字典生成元组列表的Python方法

52 投票
5 回答
83332 浏览
提问于 2025-04-15 13:41

我怎么才能从Python中的一个字典(dict)里获取一个键值对的列表呢?

5 个回答

6

在Python 2.*中,可以直接使用 thedict.items(),就像@Andrew的回答里说的那样。而在Python 3.*中,使用 list(thedict.items())。这是因为在Python 3中,items 只是一个可迭代的视图,不是一个列表。如果你想要得到一个真正的列表,就需要明确地用 list 来转换一下。

9

对于一个包含元组的列表:

my_dict.items()

不过,如果你只是想逐个查看这些项目,使用 dict.iteritems() 通常是更好的选择,因为它在内存使用上更有效率。它一次只返回一个项目,而不是一次性把所有项目都拿出来:

for key,value in my_dict.iteritems():
     #do stuff
91

仅适用于 Python 2.x(感谢 Alex):

yourdict = {}
# ...
items = yourdict.items()

详细信息请查看 http://docs.python.org/library/stdtypes.html#dict.items

仅适用于 Python 3.x(摘自 Alex 的回答):

yourdict = {}
# ...
items = list(yourdict.items())

撰写回答