Skip to main content
 首页 » 编程设计

python之如何使特定键成为字典中的第一个键

2025年05月04日15duanxz

我想让每个字典的特定元素成为字典列表中的第一个元素。我该怎么做,或者考虑到字典是无序的,这甚至可能吗?

我不想单独使用 .sort() 或 OrderedDict,因为两者都不会将所需的元素带到键的顶部,因为键是按字母顺序排列的。有没有办法在 Python 2.7 中结合使用 lamba 关键字和 sort 来做到这一点?

例如:

我希望b成为第一个键

{'a': 1, 'b': 2, 'c': 3} 
 
 
{'b': 2, 'a': 1, 'c': 3} 

背景:

我有一大堆字典,其中每个字典代表一堆关于工作的信息。每本词典都有一个标识作业的代码。我的上级希望将此代码移到其字典的顶部。

请您参考如下方法:

字典没有任何顶部或底部。你可以尝试这样的事情:

>>> from itertools import chain 
>>> dic = {'a': 1, 'b': 2, 'c': 3} 
>>> key = 'b' 
for k in chain(key, (dic.viewkeys()-key)): 
    print k, dic[k] 
...      
b 2 
a 1 
c 3 

最好使用 OrderedDict。

>>> from collections import OrderedDict 
>>> key = 'b' 
>>> dic1 = OrderedDict((k,dic[k]) for k in chain(key, (dic.viewkeys()-key))) 
>>> next(iter(dic1)) 
'b'