有没有一种“单行”的方法可以从字典中按顺序获取密钥列表?

2024-05-23 19:01:41 发布

您现在位置:Python中文网/ 问答频道 /正文

listsort()方法是返回None的修饰符函数。

因此,如果我想遍历字典中的所有键,我就不能这样做:

for k in somedictionary.keys().sort():
    dosomething()

相反,我必须:

keys = somedictionary.keys()
keys.sort()
for k in keys:
    dosomething()

有没有一种很好的方法可以按顺序遍历这些键,而不必将其分解成多个步骤?


Tags: 方法函数innonefor字典顺序步骤
3条回答

我能回答我自己的问题吗?

我刚刚发现了一个方便的函数“sorted”,它正是我想要的。

for k in sorted(somedictionary.keys()):
    dosomething()

它出现在Python 2.5 dictionary 2 key sort

实际上,.keys()不是必需的:

for k in sorted(somedictionary):
    doSomething(k)

或者

[doSomethinc(k) for k in sorted(somedict)]
for k in sorted(somedictionary.keys()):
    doSomething(k)

请注意,您还可以获取按键排序的所有键和值,如下所示:

for k, v in sorted(somedictionary.iteritems()):
   doSomething(k, v)

相关问题 更多 >