如何迭代不区分大小写的排序字典项?

时间:2011-11-02 08:09:09

标签: python

示例:

>>> d = {'answer':1, 'Question':2}
>>> for i, j in sorted(d.items()): print i
Question
answer

我想要不区分大小写的列表:

answer
Question

我相信它可以用简单的Pythonic方式完成。

3 个答案:

答案 0 :(得分:6)

如果仅仅是打印键:

for i in sorted(d.keys(), key=lambda x: x.lower()): print i

如果您之后需要这些值,则可以

for i, j in sorted(d.items(), key=lambda x: x[0].lower()): print i, j

编辑:更短更好(因为你有范围):

for i in sorted(d, key=str.lower):
    print i, d[i]

答案 1 :(得分:3)

import string
sorted(d.items(), key=string.lower)

答案 2 :(得分:2)

for k in sorted(d, key=lambda k: k.lower()):
    print k