list sort()
方法是一个返回的修饰符函数None
.
因此,如果我想遍历字典中的所有键,我不能这样做:
for k in somedictionary.keys().sort(): dosomething()
相反,我必须:
keys = somedictionary.keys() keys.sort() for k in keys: dosomething()
有没有一种很好的方法可以按排序顺序迭代这些键,而不必将其分解为多个步骤?
for k in sorted(somedictionary.keys()): doSomething(k)
请注意,您还可以获取按键排序的所有键和值,如下所示:
for k, v in sorted(somedictionary.iteritems()): doSomething(k, v)
我可以回答我自己的问题吗?
我刚刚发现了一个方便的功能"排序",它完全符合我的要求.
for k in sorted(somedictionary.keys()): dosomething()
它出现在Python 2.5字典2键排序中
实际上,.keys()不是必需的:
for k in sorted(somedictionary): doSomething(k)
要么
[doSomethinc(k) for k in sorted(somedict)]