美文网首页
第013篇:三大神器之迭代器

第013篇:三大神器之迭代器

作者: yydafx | 来源:发表于2019-11-18 19:26 被阅读0次

Python的三大神器:装饰器、迭代器、生成器

1、什么是迭代器(iter)

  • 迭代器也是python提供的容器型数据类型
  • 迭代器存储数据的特点:一个迭代器可以存储多个数据,如果要获取元素必须将元素从迭代器中取出,而且取一个少一个,取出来的数据不能再添加到迭代器中。

2、将数据存入迭代器中

 创建迭代器的方法

  • 1)将别的序列转换成迭代器
  • 2)创建生成器
list1 = [10, 12, 20, 23]
iter1 = iter(list1)
print(iter1)  # <list_iterator object at 0x032EDDD0>

iter2 = iter('hello')
print(iter2)  # <str_iterator object at 0x00BD9F50>

3、获取迭代器中的元素

  • 迭代器中的元素不管通过什么方式取出来了,那么这个元素在迭代器中就不存在了
1)获取单个元素:

  next(迭代器)--> 取出迭代器中最前面的元素

list1 = [10, 12, 20, 23]
iter1 = iter(list1)


print(next(iter1))
print(next(iter1))
print(next(iter1))
print(next(iter1))
# print(next(iter1))  # StopIteration 取完了再取会报错
2)遍历 --> 一个一个的取出所有的元素
iter2 = iter('hello')

for i in iter2:
    print(i)

# print(next(iter2))  # for循环已经遍历取完,再取报错StopIteration  
iter3 = iter('python')
next(iter3)
next(iter3)
for i in iter3:
    print(i)


iter4 = iter('python')
list2 = list(iter4)
print(list2)    # ['p', 'y', 't', 'h', 'o', 'n']
# print(next(iter4))  # StopIteration

相关文章

网友评论

      本文标题:第013篇:三大神器之迭代器

      本文链接:https://www.haomeiwen.com/subject/munbictx.html