在Python 3.7之前,字典是无序的,但是从Python 3.7开始,字典就可以保持插入顺序。在此之前,可以使用collections
模块中的OrderedDict
类来创建有序字典。下面是在Python中如何让字典保持有序的完整攻略:
方法一:使用Python 3.7及其以上版本的字典
在Python 3.7及其以上版本中的字典是有序的,可以通过dict()
函数或者花括号({}
)来创建。
# 使用dict()函数来创建有序字典
d = dict()
d['foo'] = 1
d['bar'] = 2
d['spam'] = 3
print(d)
# 使用花括号创建有序字典
d = {'foo': 1, 'bar': 2, 'spam': 3}
print(d)
# 遍历有序字典
for key, value in d.items():
print(key, value)
运行结果:
{'foo': 1, 'bar': 2, 'spam': 3}
{'foo': 1, 'bar': 2, 'spam': 3}
foo 1
bar 2
spam 3
可以看到,字典的输出顺序与插入顺序相同,即字典是有序的。
方法二:使用collections模块中的OrderedDict类
在Python 3.7之前,可以使用collections
模块中的OrderedDict
类来创建有序字典。OrderedDict
类与普通的字典一样,只是在遍历时会按照插入顺序返回键值对。
下面是使用OrderedDict
类来创建有序字典的示例:
# 创建有序字典
from collections import OrderedDict
d = OrderedDict()
d['foo'] = 1
d['bar'] = 2
d['spam'] = 3
print(d)
# 遍历有序字典
for key, value in d.items():
print(key, value)
运行结果:
OrderedDict([('foo', 1), ('bar', 2), ('spam', 3)])
foo 1
bar 2
spam 3
可以看到,OrderedDict
类创建的字典也是有序的,并且输出的顺序与插入顺序相同。
以上就是在Python中如何让字典保持有序的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Python中如何让字典保持有序 - Python技术站