在python中打印字典的原始输入顺序
问题内容:
如何按设置的原始顺序打印字典?
如果我有这样的字典:
smallestCars = {'Civic96': 12.5, 'Camry98':13.2, 'Sentra98': 13.8}
我这样做:
for cars in smallestCars:
print cars
它输出:
Sentra98
Civic96
Camry98
但是我想要的是:
Civic96
Camry98
Sentra98
有没有一种方法可以按顺序打印原始词典而不将其转换为列表?
问题答案:
一个 普通 的字典没有秩序。你需要使用OrderedDict
的的collections
模块,这可能需要一个列表的列表或元组列表,就像这样:
import collections
key_value_pairs = [('Civic86', 12.5),
('Camry98', 13.2),
('Sentra98', 13.8)]
smallestCars = collections.OrderedDict(key_value_pairs)
for car in smallestCars:
print(car)
输出为:
Civic96
Camry98
Sentra98