Python之索引迭代
1.什么是索引迭代
一般情况下,只有迭代的是取出元素的本身,而非元素的索引,但是对于有序集合,其元素是有索引的
- 有序集合
那什么是有序集合呢?list、tuple、str
- 无序集合
set,并无序集合有key-value对:dict
怎么获取索引呢?使用enumerate() 函数:
- enumerate() 函数:
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in enumerate(L):
print index, '-', name
结果如下:
0 - Adam
1 - Lisa
2 - Bart
3 - Paul
2.迭代dict的value
我们已经了解了dict对象本身就是可迭代对象,用 for 循环直接迭代 dict,可以每次拿到dict的一个key。
如果我们希望迭代 dict 对象的value,应该怎么做?
- values:dict转换成一个包含所有value的list
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print d.values()
for i in d.values():
print i
结果如下:
[85, 95, 59]
85
95
59
3.迭代dict的key和value
我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value?
- items():dict 对象的 items() 方法,将dict转换为一个元组列表
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
for i in d.items():
print i
结果如下:
('Lisa', 85)
('Adam', 95)
('Bart', 59)