是否有“单行”? 如何从字典中按排序顺序获取键列表?

发布于 2024-07-10 01:37:29 字数 341 浏览 12 评论 0原文

列表 sort() 方法是一个返回 None 的修饰函数。

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

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

相反,我必须:

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

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

The list sort() method is a modifier function that returns None.

So if I want to iterate through all of the keys in a dictionary I cannot do:

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

Instead, I must:

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

Is there a pretty way to iterate through these keys in sorted order without having to break it up in to multiple steps?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苹果你个爱泡泡 2024-07-17 01:37:31

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

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

或者

[doSomethinc(k) for k in sorted(somedict)]

Actually, .keys() is not necessary:

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

or

[doSomethinc(k) for k in sorted(somedict)]
Bonjour°[大白 2024-07-17 01:37:30
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(k)

Note that you can also get all of the keys and values sorted by keys like this:

for k, v in sorted(somedictionary.iteritems()):
   doSomething(k, v)
安静被遗忘 2024-07-17 01:37:30

我可以回答我自己的问题吗?

我刚刚发现了方便的功能“sorted”,它正是我所寻找的。

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

它显示在 Python 2.5 字典 2 键排序

Can I answer my own question?

I have just discovered the handy function "sorted" which does exactly what I was looking for.

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

It shows up in Python 2.5 dictionary 2 key sort

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文