关于字典存进去数据会变乱的问题。字典排序

例如一个字典

1 dict = {}

当需要往dict中添加元素:

 

dict[1] = “张三”

dict[2] = "李四"

dict[3] = "王五"

添加到字典中后,在字典中的顺序是不定的。当我再次从字典中取出时希望按照原来存入的顺序,我使用的是下面这种方式。

新建一个list

list = []

list.append({1:张三})

list.append({2:李四})

list.append({3:王五})

for i in range(len(list)):

  list[i].key

  list[i].val

这样因为list是有序的,相当于每一个元素都是只有一个元素的字典。

再次读取的时候遍历列表从而获得字典的key和value。得到的顺序可以和原先存入的顺序相同。

 

不知道这么做会不会影响性能。。。初学python,这种方法可以解决字典存入时的顺序问题。所以就用了,

 

通过百度,发现可以使用collentions.OrderdDict()  

OrderdDict为有序字典,OrderdDict是dict的子类,它可以记住字典在添加时的顺序。(Python 2.7+版本)可以使用

z = collections.OrderedDict()
z[ 'banji'] = 'sanban',
z[ 'xuexiao'] = 'hongxing',
z[ 'nianji'] = 'wunianji'

 

遍历字典方法:

方法 一:

for k in z.keys():

  print z[k]

方法二:

for (d,x) in z.items():
     print "key:"+d+",value:"+str(x)

 

欢迎批评指正,谢谢!

转载于:https://www.cnblogs.com/zhangkaikai/p/6039649.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值