WELCOME

不积跬步,无以至千里;不积小流,无以成江海。

Python可迭代对象和迭代器

1.可迭代对象

大白话:可以重复迭代的东西

 

专业话:实现了__iter__方法的对象就是可迭代对象

实现了__iter__方法的对象就叫做可迭代对象__iter__方法的作用就是返回一个迭代器对象。 直观理解就是能用for循环进行迭代的对象就是可迭代对象。

比如:字符串、列表、元组、字典、集合、生成器等,都是可迭代对象。

 

(1)如何判断是否是可迭代对象? ------> isinstance(对象,Iterable)

 1 from collections.abc import Iterable
 2 
 3 list1 = [1, 2, 3, 1, 2]
 4 f = isinstance(list1, Iterable)
 5 print(f)  # >> True
 6 
 7 f = isinstance('abc', Iterable)
 8 print(f)  # >> True
 9 
10 f = isinstance(100, Iterable)
11 print(f)  # >> False
12 
13 g = (x + 1 for x in range(10))
14 f = isinstance(g, Iterable)
15 print(f)  # >> True

 

2.迭代器

迭代是访问集合元素的一种方式迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元
素开始访问,直到所有的元素被访问完结束。迭代器只能往前会后退。
可以被next()函液调用并不断返回下一个值的对象称为迭代器:Iterator.

 

 

 1 list1 = [1, 2, 3, 4, 5]
 2 list1 = iter(list1)
 3 print(next(list1))
 4 
 5 a = 'abd'
 6 a = iter(a)
 7 print(next(a))
 8 
 9 dict1 = {'a': 'A', 'b': 'B'}
10 dict1 = iter(dict1)
11 print(next(dict1))
12 
13 tuple1 = ('a', 'b', 'c', 'd', 'e', 'f')
14 tuple1 = iter(tuple1)
15 print(tuple1)  # >> <tuple_iterator object at 0x000001A9380ED988>
16 print(next(tuple1)) # >> a

 

posted @ 2022-03-26 20:48  Ambitious~  阅读(173)  评论(0)    收藏  举报