在python<;3.7(或cpython<;3.6)上,您无法控制标准字典中对的顺序。
如果您计划经常执行任意插入,我的建议是使用列表存储键,使用dict存储值。mykeys = ['Name', 'Age', 'Class']
mydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} # order doesn't matter
k, v = 'Phone', '123-456-7890'
mykeys.insert(mykeys.index('Name')+1, k)
mydict[k] = v
for k in mykeys:
print(f'{k} => {mydict[k]}')
# Name => Zara
# Phone => 123-456-7890
# Age => 7
# Class => First
如果计划使用内容不太可能更改的顺序初始化词典,则可以使用维护插入顺序的collections.OrderedDict结构。from collections import OrderedDict
data = [('Name', 'Zara'), ('Phone', '1234'), ('Age', 7), ('Class', 'First')]
odict = OrderedDict(data)
odict
# OrderedDict([('Name', 'Zara'),
# ('Phone', '1234'),
# ('Age', 7),
# ('Class', 'First')])
注意,OrderedDict不支持在任意位置插入(它只记住键插入字典的顺序)。