失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python将list转换为迭代器代码_python中的迭代器附带代码示例

python将list转换为迭代器代码_python中的迭代器附带代码示例

时间:2023-09-10 10:11:34

相关推荐

python将list转换为迭代器代码_python中的迭代器附带代码示例

迭代的概念

迭代就是执行重复的特定的任务,知道任务完成为止

相当于我们盖房子,今天添一块砖,明天加一块瓦,直到房子盖完为止。这里每天的工作就是一次迭代

(1.)可迭代对象

a.可以直接作用于for-in循环的数据类型都被称为可迭代对象:Iterable

b.可以使用isinstance()判断一个对象是否是可迭代对象

c.可以直接作用于for-in循环的数据类型

1>数据结构:list、set、tuple、dict、string

2>generator【生成器】【(),函数结合yield】

(2.)迭代器

a.迭代器:Iterator

b.不但可以作用于for-in循环,还可以使用next()函数将其中的元素获取出来,当获取完最后一个元素之后,当再次调用next方法,则会出现StopIteration错误,表示无法继续返回一个值

c.可以使用isinstance()判断一个对象是否是迭代器

结论:list、set、tuple、dict、string是可迭代对象,但是,不是迭代器,只有生成器才是迭代器

#导入模块

#collections:包【文件夹】

from collections import Iterable

print(isinstance([],Iterable))

print(isinstance((),Iterable))

print(isinstance({},Iterable))

print(isinstance((x for x in range(0,6)),Iterable))

print(isinstance("",Iterable))

print(isinstance(10,Iterable))

print(isinstance(True,Iterable))

print(isinstance(10.23,Iterable))

(3.)将可迭代对象转换为迭代器

迭代器一定是可迭代对象,但是,可迭代对象不一定是迭代器

iter():将可迭代对象转化为迭代器【主要针对list、set、tuple、dict、string】

from collections import Iterator

print(isinstance([],Iterator))

print(isinstance((),Iterator))

print(isinstance({},Iterator))

print(isinstance((x for x in range(0,6)),Iterator)) #生成器

print(isinstance("",Iterator))

ge = (x for x in [12,24,435,455,4])

for i in range(0,5):

print(next(ge))

#print(next(ge)) #StopIteration

list1 = [12,2,434,3]

#将列表转换为了迭代器

a = iter(list1)

print(next(a))

print(isinstance(iter([]),Iterator))

print(isinstance(iter(()),Iterator))

print(isinstance(iter({}),Iterator))

print(isinstance(iter(""),Iterator))

for x in [12,34,3545]:

print(x)

it = iter([12,34,3545])

while True:

try:

num = next(it)

except StopIteration:

break

(4.)总结

a.凡是可以使用for-in循环进行遍历元素的数据类型都是Iterable类型【可迭代对象】

b.凡是可以使用next()的数据类型都是Iterator类型

c.list、set、tuple、dict、string是Iterable类型,但是,可以通过iter()转换为

如果觉得《python将list转换为迭代器代码_python中的迭代器附带代码示例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。