今天在写一个判断列表中的元素是否与字典中的key值相等的时候,需要用到字典的遍历,经过查阅资料,知道怎么遍历字典的key值;
程序如下:
这个程序是判断列表中元素是否与字典中的key值相等,如果相等就将字典的中的元素换成字典中key值对应的value。
对于字典的遍历还有其他的方法,总结如下:
分为三种方法:
aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}
print '-----------dict-------------'
for d in aDict:
print "%s:%s" %(d, aDict[d])
print '-----------item-------------'
for (k,v) in aDict.items():
print '%s:%s' %(k, v)
#效率最高
print '------------iteritems---------'
for k,v in aDict.iteritems():
print '%s:%s' % (k, v)
#最笨的方法
print '---------iterkeys---------------'
for k in aDict.iterkeys():
print '%s:%s' % (k, aDict[k])
print '------------iterkeys, itervalues----------'
for k,v in zip(aDict.iterkeys(), aDict.itervalues()):
print '%s:%s' % (k, v)
输出结果为:
-----------dict-------------
key3:value3
key2:value2
key1:value1
-----------item-------------
key3:value3
key2:value2
key1:value1
------------iteritems---------
key3:value3
key2:value2
key1:value1
---------iterkeys---------------
key3:value3
key2:value2
key1:value1
------------iterkeys, itervalues----------
key3:value3
key2:value2
key1:value1
注意:字典元素的顺序通常没有定义。换句话说,迭代的时候,字典中的键和值都能保证被处理,但是处理顺序不确定。如果顺序很重要的话,可以将键值保存在单独的列表中,例如迭代前进行排序。