遍历python字典几种方法

本文详细介绍了Python字典的多种遍历方法,包括使用for循环遍历键、值、键值对,以及利用items()、keys()、values()等方法进行高效遍历。通过实例解析,帮助读者深入理解字典遍历的使用场景和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}
print '-----------dict-------------'
for d in aDict:
    print "%s:%s" %(d, aDict[d])
#遍历aDict中的key,并利用key索引出values:

print '-----------item-------------'
for (k,v) in aDict.items():
    print '%s:%s' %(k, v)
#aDict.item():返回的是一个列表,元素是每组key和value组成的tuple:[(key1,value1),...,(key3,value3)]所以前面的(k,v)用的是values模式

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])
#类似于第一种情况 得到一个key
print '------------iterkeys, itervalues----------'
for k,v in zip(aDict.iterkeys(), aDict.itervalues()):
    print '%s:%s' % (k, v)
#区别于第二种情况,得到一个value
#所以比较难理解的是第二和三种情况。item代表一个key和一个对应的value。


下面是自己的代码输出试验。

n [30]: aDict = {'key1':'value1', 'key2':'value2', 'key3':'value3'}
for k in aDict:
    print k
key3
key2
key1
#只输出key

for (k,v) in aDict.items():
    print k
    print v
    print (k,v)
key3
value3
('key3', 'value3')
key2
value2
('key2', 'value2')
key1
value1
('key1', 'value1')


for k in aDict.iteritems():
    print k

('key3', 'value3')
('key2', 'value2')
('key1', 'value1')

for v in aDict.iteritems():
    print v

('key3', 'value3')
('key2', 'value2')
('key1', 'value1')
#上面两组是一样的。单个的值会返回一组items

for k,v in aDict.iteritems():
    print k
    print v
key3
value3
key2
value2
key1
value1

for k in aDict.iterkeys():
    print k

key3
key2
key1

for v in aDict.itervalues():
    print v

value3
value2
value1

for k,v in zip(aDict.iterkeys(), aDict.itervalues()):
    print k
    print v

key3
value3
key2
value2
key1
value1
#最后注意python 中的dict items 只能保证完整性不能保证顺序。这里为什么是321.。。我也不知道。
#   reference http://ghostfromheaven.iteye.com/blog/1549441


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值