listsort()
方法是一个修饰函数,它返回None
.
因此,如果我想遍历字典中的所有键,我不能这样做:
for k in somedictionary.keys().sort():
dosomething()
相反,我必须:
keys = somedictionary.keys()
keys.sort()
for k in keys:
dosomething()
有没有一种很好的方法可以按排序顺序遍历这些键,而不必将其分解为多个步骤?
listsort()
方法是一个修饰函数,它返回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)
我可以回答我自己的问题吗?
我刚刚发现了方便的“排序”功能,它完全符合我的要求。
对于排序中的 k(somedictionary.keys()): 做点什么()
实际上, .keys() 不是必需的:
for k in sorted(somedictionary):
doSomething(k)
或者
[doSomethinc(k) for k in sorted(somedict)]