2024-06-11 04:23:32 发布
网友
如何按我设置的原始顺序打印词典?
如果我有这样一本字典:
smallestCars = {'Civic96': 12.5, 'Camry98':13.2, 'Sentra98': 13.8}
我这样做:
for cars in smallestCars: print cars
它输出:
Sentra98 Civic96 Camry98
但我想要的是:
Civic96 Camry98 Sentra98
有没有办法按顺序打印原词典而不将其转换为列表?
字典不需要保持秩序。使用OrderedDict。
OrderedDict
当您创建字典时,python并不关心您编写元素的顺序,它也不会记住创建对象后的顺序。你不能指望它(普通字典)按同样的顺序打印。更改代码的结构是您在这里的最佳选择,OrderedDict是一个很好的选择,正如其他人所说。
常规字典没有顺序。您需要使用collections模块的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)
输出是:
字典不需要保持秩序。使用
OrderedDict
。当您创建字典时,python并不关心您编写元素的顺序,它也不会记住创建对象后的顺序。你不能指望它(普通字典)按同样的顺序打印。更改代码的结构是您在这里的最佳选择,OrderedDict是一个很好的选择,正如其他人所说。
常规字典没有顺序。您需要使用
collections
模块的OrderedDict
,它可以接受列表或元组列表,如下所示:输出是:
相关问题 更多 >
编程相关推荐