我试图学习在python中使用字典并制作两个非常短的程序。我对程序的输出有疑问。这是代码。
d = {}
d[0] = '0'
d[1] = '1'
d[2] = '2'
for keys in d:
print d[keys]
它给出了以下输出
0
1
2
但是,当我制作以下程序时。
d = {}
d['name'] = "Pratik"
d['age'] = 17
d['country'] = "India"
for keys in d:
print d[keys]
它提供了以下输出
India
17
Pratik
如果有人能向我解释这个输出,那将是很棒的。 查看第一个输出的预期输出是
Pratik
17
India
答案 0 :(得分:2)
如果有人能向我解释这个输出,那将是很棒的。查看第一个输出的预期输出是
字典不是有序的,它们是简单的哈希表。
答案 1 :(得分:2)
要从订单中的字典中获取项目,请使用OrderedDict,或按照您希望获取的顺序创建密钥列表,然后单步执行列表。列表(和元组)保留其顺序。
k = ['name', 'age', 'country']
for i in k:
d[i]
答案 2 :(得分:1)
根据@Burhan Khalid的建议,你可以使用有序词典,一个快速的例子:
from collections import OrderedDict
d = OrderedDict()
d['name'] = "Pratik"
d['age'] = 17
d['country'] = "India"
print d
OrderedDict([('name','Pratik'),('age',17),('country','India')])
您可以阅读更多here