迭代对象及enumerate枚举对象的用法

迭代对象

对于给定的列表或者元组,如果可以通过for循环进行遍历,那么这种遍历我们称之为迭代(iteration)

在python种,迭代是通过for ······ in结构完成的,python迭代的对象是一切可以迭代的对象,不限于列表、元组,字符串等同样可以迭代(字典和集合是无序的,但是同样可以进行迭代,只是可能每次迭代的结果不同而已,在默认的情况下,对字典的迭代是对字典中的key进行迭代,如果同时对字典种的key和value进行迭代,可以使用for k,v in d.items()进行迭代,d.items表示返回字典种的键值对信息,d.keys获取键,d.values获取值的信息)。

mydict = {'A':1,'B':2,'C':5}
print(mydict.keys())
print(mydict.values())
print(mydict.items())

for k in mydict.keys():
    print(k)

for v in mydict.values():
    print(v)

for k,v in mydict.items():
    print(k,v)

B
A
C
2
1
5
B 2
A 1
C 5

python中的迭代只需要判断对象是否是可迭代对象即可,无需知道该对象是字典还是列表等,判断一个对象是否是可迭代对象我们可以通过collections中的Iterablele类型判断:

from collections import Iterable
print(isinstance('abc',Iterable))
print(isinstance(123,Iterable))


True
False

enumerate函数的用法,枚举对象

另外python内置函数enumerate(枚举对象),,enumerate是将可遍历的数据结构组为一个索引序列,同时列出数据和数据下表:

mydict = {'A':1,'B':2,'C':5}
for i in enumerate(mydict.keys()):
    print(i)

(0, 'B')
(1, 'A')
(2, 'C')

可以看出enumerate有两个值,一个是数据的下标,一个是数据的本身,同时也可以使用两个参数的循环对该数据进行访问:

for i,values in enumerate(mydict.keys()):
    print(i,values)
    
0 A
1 B
2 C

参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017316949097888

猜你喜欢

转载自blog.csdn.net/weixin_43245453/article/details/90017998