【发布时间】:2013-09-27 18:05:29
【问题描述】:
我创建了一个 python 字典,其中包含这种形式的键:
11, 10, 00, 01, 20, 21, 31, 30
键是字符串
我想按以下排序顺序维护我的字典:
00, 10, 20, 30, 01, 11, 21, 31
这是基于键的第二个值。
我试过这个sorted(dict.items(), key = lambda s: s[1]) 并得到了这样的键:
20, 30, 21, 31, 01, 11, 10, 00
有人可以指导我吗?
【问题讨论】:
-
您考虑过使用OrderedDict吗?
-
这个问题绝对是重复的。 :) 我什至数不清我看过多少次了。
-
嗨。
items返回元组列表,其中第一项是键,第二项是值。因此,如果您想按键对它们进行排序,则应使用 sorted(dict.items(), key = lambda s: s[0]) 但在这种情况下,您将键升序排序如果您想按示例进行排序11, 10, 00, 01, 20, 21, 31, 30 > 我想按以下排序顺序维护我的字典:00, 10, 20, 30, 01, 11, 21, 31 你应该将你的键反转排序function sorted(dict.items(), key = lambda s: ''.join(reversed(s[0])))
标签: python sorting python-2.7 dictionary