Python 订购具有多个值的词典;一键
字典包含以下值不同的人的名字和年龄。我必须把这本字典从最小的到最大的顺序排列在一个单子上。也就是说,索引Python 订购具有多个值的词典;一键,python,dictionary,Python,Dictionary,字典包含以下值不同的人的名字和年龄。我必须把这本字典从最小的到最大的顺序排列在一个单子上。也就是说,索引0必须占用('JOHN',1),而-1必须占用('RYAN',25) 谈论字典的索引没有多大意义。如果你想要一个索引,你应该列一个列表。您可以列出值(),并使用键对其进行排序。例如: d = {1:('RYAN',25),2:('WILL',12),3:('JOHN',1),4:('MATT',15),5:('FILL',19),6:('NICK',4)} list(sorted(d.v
0
必须占用('JOHN',1)
,而-1
必须占用('RYAN',25)
谈论字典的
索引没有多大意义。如果你想要一个索引,你应该列一个列表。您可以列出值()
,并使用键对其进行排序。例如:
d = {1:('RYAN',25),2:('WILL',12),3:('JOHN',1),4:('MATT',15),5:('FILL',19),6:('NICK',4)}
list(sorted(d.values(), key = lambda x: x[1]))
结果:
[('JOHN', 1),
('NICK', 4),
('WILL', 12),
('MATT', 15),
('FILL', 19),
('RYAN', 25)]
如果您确实需要dict,可以将此列表传递回orderedict()
(或者在保留顺序的较新版本的python中传递回dict()
),但您将无法使用零或-1对其进行索引,除非您取出值或键并将其转换为列表:
from collections import OrderedDict
d = {1:('RYAN',25),2:('WILL',12),3:('JOHN',1),4:('MATT',15),5:('FILL',19),6:('NICK',4)}
od = OrderedDict(sorted(d.values(), key = lambda x: x[1]))
od.keys()
# odict_keys(['JOHN', 'NICK', 'WILL', 'MATT', 'FILL', 'RYAN'])
谈论字典的索引没有多大意义。如果你想要一个索引,你应该列一个列表。您可以列出值()
,并使用键对其进行排序。例如:
d = {1:('RYAN',25),2:('WILL',12),3:('JOHN',1),4:('MATT',15),5:('FILL',19),6:('NICK',4)}
list(sorted(d.values(), key = lambda x: x[1]))
结果:
[('JOHN', 1),
('NICK', 4),
('WILL', 12),
('MATT', 15),
('FILL', 19),
('RYAN', 25)]
如果您确实需要dict,可以将此列表传递回orderedict()
(或者在保留顺序的较新版本的python中传递回dict()
),但您将无法使用零或-1对其进行索引,除非您取出值或键并将其转换为列表:
from collections import OrderedDict
d = {1:('RYAN',25),2:('WILL',12),3:('JOHN',1),4:('MATT',15),5:('FILL',19),6:('NICK',4)}
od = OrderedDict(sorted(d.values(), key = lambda x: x[1]))
od.keys()
# odict_keys(['JOHN', 'NICK', 'WILL', 'MATT', 'FILL', 'RYAN'])
这回答了你的问题吗?我可能误解了“字典分类”部分。看看这个:这能回答你的问题吗?我可能误解了“字典分类”部分。请看以下内容: