为什么mydict.items()。sort()不起作用?

时间:2010-07-31 18:14:34

标签: python dictionary

当我尝试对字典进行排序时,出现错误:''nonetype'对象不可迭代。

我在做:

for k,v in mydict.items().sort():

1 个答案:

答案 0 :(得分:12)

sort方法返回None(它已对items()给出的临时列表进行了排序,但现在已经消失了)。使用:

for k, v in sorted(mydict.iteritems()):

使用.items()代替.iteritems()也可以(如果您使用的是Python 3,则需要)但是,在Python 2中(其中.items()生成并返回列表而{ {1}}不会,只返回一个迭代器),避免制作一个额外的列表是有利的 - .iteritems()将使自己的列表返回,无论如何,不​​改变传递给它的参数。