2011-04-22 33 views
1

印刷我有这个词典为什么Python字典的元素没有得到序列

sr = {'DTW':'CNT','FWA':'CNT','GRR':'CNT','IND':'CNT','MKE':'CNT','MLI':'CNT','MSP':'CNT','OMA':'CNT','ORD':'CNT','SBN':'CNT','STL':'CNT','BDL':'EST','BOS':'EST','BWI':'EST','CLE':'EST','CMH':'EST','CVG':'EST','EWR':'EST','IAD':'EST','JFK':'EST','MDT':'EST','PHL':'EST','PIT':'EST','ROC':'EST','ABQ':'CNT','AUS':'CNT','DEN':'CNT','DFW':'CNT','ELP':'CNT','IAH':'CNT','LRD':'CNT','MCI':'CNT','MFE':'CNT','MSY':'CNT','OKC':'CNT','SAT':'CNT','TUL':'CNT','ATL':'EST','BNA':'EST','CLT':'EST','JAX':'EST','MCO':'EST','MEM':'EST','MIA':'EST','RDU':'EST','RIC':'EST','SDF':'EST','SJU':'EST','TPA':'EST','ANC':'WST','HNL':'WST','LAS':'WST','LAX':'WST','PDX':'WST','PHX':'WST','RNO':'WST','SAN':'WST','SEA':'WST','SFO':'WST','SLC':'WST','SMF':'WST','TUS':'WST'} 

for s, r in sr.iteritems(): 
    print s, r 

但打印是打印开始

JFK EST 
MKE CNT 

为什么呢?为什么印刷不与DTW凝视?

+1

您是否阅读过字典的文档? http://docs.python.org/library/stdtypes.html#dict.items看起来很清楚。关于这个问题的哪一部分让你困惑?你能提供一个令人困惑的报价或链接吗? – 2011-04-22 10:07:53

回答

10

由于字典的实现是散列图或hash table,它不按顺序存储元素。

docs

CPython的实现细节:按键 和值在任意 秩序,产生非随机的上市,改变 不同的Python实现,并 取决于 插入字典的历史和删除。

如果顺序很重要,你应该使用OrderedDict

+0

感谢lkke多数民众赞成在帮助 – sagar 2011-04-22 07:05:07

相关问题