关于字典存进去数据会变乱的问题。字典排序
例如一个字典
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)
欢迎批评指正,谢谢!