from collections
import Iterable
from collections
import Iterator
#列表生成式
li=
list(x
for x
in range(
10))
l=[x
for x
in range(
6)]
print(li)
print(l)
#可迭代对象
'''1.可以直接作用于for循环的对象统称为可迭代对象,我们称之为:Iterator
2.我们可以使用isintance()判断一个对象是否是Iterator对象
3.可以直接作用于for循环的数据类型有以下几种
a.集合数据类型:如list、tuple、dict、set和string
b.生成器(generator):就是一个能返回迭代器的函数,
其实就是定义一个迭代算法,可以理解为一个特殊的迭代器。
'''
print(
isinstance([
1,
2],Iterable))
print(
isinstance((x*x
for x
in range(
10)),Iterable))
print(
isinstance((x*x
for x
in range(
10)),Iterator))
#生成器:在Python中,这种一边循环一边计算的机制,称为生成器(Generator)
#生成器的好处:不会一下子在内存中生成太多数据
#生成器表达式
print(
sum(i
for i
in range(
9999)))
#几乎不占内存
#迭代器:不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后出现StopIteration错误,表示无法返回下一个值
#迭代器:可以被next()函数调用并不断返回下一个值得对象成为迭代器(Iterator对象)
#可以通过Iter()函数将list、tuple、dict、string转换为Iterator对象
print(
isinstance(
iter([
1,
2,
3]),Iterator))
list1=
iter([
1,
2,
3])
print(
next(list1))
转载请注明原文地址: https://www.6miu.com/read-2628903.html