-2

我们如何根据大写字母对以下字典进行排序,即person[:][1][2]

谢谢

4

3 回答 3

3

您可能只想使用值,而不是字典。字典通常没有排序,因为您希望允许通过散列优化数据结构。

sorted(persons.values(), key=lambda item: item[2])

是获取包含字典值的排序列表的最简单方法。

也许你一开始就打算使用 alist而不是 a dict

于 2012-06-17T21:42:24.533 回答
3

这个问题在现代 Python 中很容易解决:

>>> from collections import OrderedDict
>>> d={....your data....}

>>> d = OrderedDict(sorted(d.items(), key=lambda item: item[1][2]))
于 2012-06-17T22:24:01.443 回答
1
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])
于 2012-06-17T21:33:36.537 回答