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

Bla*_*man 1 python dictionary

当我尝试对字典进行排序时,我收到一个错误:''nonetype'对象不可迭代.

我在做:

for k,v in mydict.items().sort():
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 12

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

for k, v in sorted(mydict.iteritems()):
Run Code Online (Sandbox Code Playgroud)

.items()代替使用.iteritems()也是可以的(如果你在Python 3中也需要)但是,在Python 2中(其中.items()make和返回列表.iteritems()而不返回迭代器),避免制作额外的列表是有利的- sorted无论如何,都会使自己的列表返回,而不会改变传递给它的参数.