在迭代数据对性(即我们可以循环的任何对象)时获取元素的索引
枚举字符串
word = "Speed"
for index, char in enumerate(word):
print(index,char,end='|')
# 0 S|1 p|2 e|3 e|4 d|
枚举列表
sports = ['soccer', 'basketball', 't` ennis']
for index, value in enumerate(sports):
print(index,value,end=' ')
# 0 soccer 1 basketball 2 t` ennis
自定义起始索引
enumerate()还带有一个可选参数[start]
- 起始索引可以为负
- 省略start= 则默认从0索引位置开始。
students = ['张三', '法外', '狂徒']
for index, item in enumerate(students, start=1):
print(index,item,end=' ')
# 1 张三 2 法外 3 狂徒
teachers = ['liu', 'sun', 'zhao']
for index, item in enumerate(teachers, -15):
print(print(index,item,end=' '))
# -15 liu -14 sun -13 zhao
枚举元组
同列表,这里举例:列表中的元组
letters = [('a', 'A'), ('b', 'B'), ('c', 'C')]
for i, (lowercase, uppercase) in enumerate(letters):
print(f"'{i}'-->'{lowercase}'+'{uppercase}'",end=' ')
# '0'-->'a'+'A' '1'-->'b'+'B' '2'-->'c'+'C'
枚举字典
字典中的项没有顺序,需要用for循环来迭代字典的键和值。该key — value对称为item,因此我们可以使用.items()方法:
animals = {'cat': 3, 'dog': 6, 'bird': 9}
for key, value in animals.items():
print(key, value)
# cat 3
# dog 6
# bird 9