python之路——迭代器与可迭代对象

来源:互联网 发布:mac安装win7虚拟机 编辑:程序博客网 时间:2024/06/05 17:28

迭代器与可迭代对象

可以直接使用for循环进行遍历的数据类型有两种:
一种是集合型数据类型如list、str、dict、set、tuple,
一种是generator类型,
这些对象都可以使用isinstance函数进行判断

from collections import Iterablelist1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]my_str = 'hello world'tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)dict1 = {'name': 'nick', 'age': 22, 'sex': 'male'}set1 = set(list1)generator_1 = (x * x for x in range(10))print(isinstance(list1, Iterable))print(isinstance(my_str, Iterable))print(isinstance(tuple1, Iterable))print(isinstance(set1, Iterable))print(isinstance(generator_1, Iterable))

print—>:
True
True
True
True
True

以上我们都称之为可迭代对象,而迭代器就是可迭代对象如果有next方法就称之为迭代器:Iterator。

可以使用isinstance来判断对象是否是迭代器

from collections import  Iteratorlist1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]my_str = 'hello world'tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)dict1 = {'name': 'nick', 'age': 22, 'sex': 'male'}set1 = set(list1)generator_1 = (x * x for x in range(10))print(isinstance(list1, Iterator))print(isinstance(my_str, Iterator))print(isinstance(tuple1, Iterator))print(isinstance(set1, Iterator))print(isinstance(generator_1, Iterator))

print—>:
False
False
False
False
True

原创粉丝点击