我们如何根据大写字母对以下字典进行排序,即person[:][1][2]
谢谢
您可能只想使用值,而不是字典。字典通常没有排序,因为您希望允许通过散列优化数据结构。
sorted(persons.values(), key=lambda item: item[2])
是获取包含字典值的排序列表的最简单方法。
但也许你一开始就打算使用 alist
而不是 a dict
?
这个问题在现代 Python 中很容易解决:
>>> from collections import OrderedDict
>>> d={....your data....}
>>> d = OrderedDict(sorted(d.items(), key=lambda item: item[1][2]))
lst = list(person.items())
lst.sort(key=lambda x: x[1][2])
如果你想按字母排序,然后是姓氏,然后是名字:
lst = list(person.items())
lst.sort(key=lambda x: x[1][2] + ' ' + x[1][0] + ' ' + x[1][1])