广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3 迭代器与生成器
  • 125
分享到

Python3 迭代器与生成器

生成器迭代 2023-01-31 08:01:01 125人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

Edit笔记内容:Python3 迭代器与生成器 笔记日期:2017-10-28迭代器迭代是python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元

Edit


笔记内容:Python3 迭代器与生成器
笔记日期:2017-10-28


迭代器

迭代是python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器,给一个列表创建迭代器代码示例:

list1 = [12, 34, 56, 78, 910]
it = iter(list1) #通过iter方法创建迭代器对象

#从第一个元素开始迭代,next会返回出迭代的元素
print(next(it))
print(next(it))
print(next(it))
print(next(it))
print(next(it))

运行结果:

 12
 34
 56
 78
 910

迭代器对象可以使用常规for语句进行遍历,就不用一个个的去写next了:

list1 = [12, 34, 56, 78, 910]
it = iter(list1)

for elenmet in it:
print(elenmet, end=" ")

运行结果:

12 34 56 78 910

也可以使用 next() 函数:

list1 = [12, 34, 56, 78, 910]
it = iter(list1)

for elenmet in it:
print(elenmet, end=" ")

运行结果:

12 34 56 78 910


生成器

Python 中,使用了 yield 的函数被称为生成器(generator)。
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。
以下实例使用 yield 实现斐波那契数列:

import sys # 引入 sys 模块

def fibonacci(n): # 生成器函数 - 斐波那契
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
f = fibonacci(10) # f 是一个迭代器对象,由生成器返回生成

while True:
try:
print (next(f), end=" ")
except StopIteration:
sys.exit() #当异常发生就退出解释器

运行结果:

0 1 1 2 3 5 8 13 21 34 55



--结束END--

本文标题: Python3 迭代器与生成器

本文链接: https://www.lsjlt.com/news/192688.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3 迭代器与生成器
    Edit笔记内容:Python3 迭代器与生成器 笔记日期:2017-10-28迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元...
    99+
    2023-01-31
    生成器 迭代
  • python3--迭代器,生成器
    一 迭代器1 什么是可迭代对象?字符串,列表,元组,字典,集合都可以被for循环,说明他们都是可迭代的怎么来证明这一点呢?注释:type只能判断是什么类型isintance判断方面更广,不仅能判断类型,还能判断是否可迭代Iterable是否...
    99+
    2023-01-30
    生成器 迭代
  • python3迭代器和生成器
    迭代对象:在我看来就是可以用for循环依次取值的一个序列就叫可迭代对象迭代器:就是可以用next()来进行取值的对象生成器:我的理解就是在迭代器的基础上给了与暂停功能的函数生成器其实就是一种特殊的迭代器。它使一种更为高级、更为优雅的迭代器。...
    99+
    2023-01-31
    生成器 迭代
  • Python3 迭代器,生成器,装饰器
    1.迭代器 迭代器有两个基本方法,iter()和next(),next()完成后会引发StopIteration异常 a='abcdef' b=iter(a) #创建迭代器对象 print(type(b)) while True: t...
    99+
    2023-01-30
    生成器 迭代
  • python3 迭代器、生成器、装饰器、
    本节内容迭代器&生成器装饰器Json & pickle 数据序列化软件目录结构规范作业:ATM项目开发 1.列表生成式迭代器&生成器列表生成式孩子我现在有个需求看列表[0, 1, 2, 3, 4, 5, 6, 7, ...
    99+
    2023-01-31
    生成器 迭代
  • 迭代器与生成器
    这一部分待加强!                (一)迭代器    一:简介    迭代是Python最强大的功能之一,是访问集合元素的一种方式。    迭代器是一个可以记住遍历的位置的对象。    迭代器对象从集合的第一个元素开始访问,...
    99+
    2023-01-30
    生成器 迭代
  • Python迭代器与生成器
    生成器仅仅拥有生成某种东西的能力,如果不用__next__方法是获取不到值得。创建一个生成器函数>>> def scq(): ...    print("11") # 当函数代码块中遇到yield关键字的时候,这个函数就是...
    99+
    2023-01-31
    生成器 迭代 Python
  • Python3的生成器和迭代器代码怎么写
    本篇内容主要讲解“Python3的生成器和迭代器代码怎么写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python3的生成器和迭代器代码怎么写”吧!1.生成器# 一边循环一边计算的机...
    99+
    2023-06-28
  • python迭代器与生成器详解
    例子 老规矩,先上一个代码: def add(s, x): return s + x def gen(): for i in range(4): yield i base = gen() ...
    99+
    2022-06-04
    生成器 详解 迭代
  • Python生成器与迭代器详情
    目录1、生成器 2、迭代器与可迭代的生成器1、生成器 现在可以通过生成器来直接创建一个列表,但是由于内存的限制,列表的容量肯定是有限的,如果我们需要一个包含几百个元素的列表,但是每...
    99+
    2022-11-12
  • python迭代器与生成器小结
    2016.3.10关于例子解释的补充更新 源自我的博客 例子 老规矩,先上一个代码: def add(s, x): return s + x def gen(): for i in range(4): ...
    99+
    2023-01-31
    生成器 小结 迭代
  • python基础:迭代器与生成器
    一、迭代器 迭代器只能向前访问,不能后退字典,列表,元组,字符串,range都是可以迭代的对象。 1、创建迭代器 `dict={1:3,2:4,3:5,4:6}key = iter(dict)print(key)print(next(key...
    99+
    2023-01-31
    生成器 迭代 基础
  • python基础之迭代器与生成器
    目录1. 迭代器1.1 迭代器的使用1.2 创建类的迭代器2. 生成器2.1 生成器的使用2.2 生成器表达式总结 1. 迭代器 1.1 迭代器的使用 迭代器对象从集合的第一个元素开...
    99+
    2022-11-12
  • Python生成器与迭代器怎么用
    这篇文章给大家分享的是有关Python生成器与迭代器怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、生成器现在可以通过生成器来直接创建一个列表,但是由于内存的限制,列表的容量肯定是有限的,如果我们需要一个...
    99+
    2023-06-25
  • JavaScript中的迭代器和可迭代对象与生成器
    目录1. 什么是迭代器?1.1 迭代器的基本实现1.2 迭代器的封装实现2. 什么是可迭代对象2.1 原生可迭代对象(JS内置)2.1.1 部分for of 演示2.1.2 查看内置...
    99+
    2022-11-13
  • python 生成器&迭代器
      一、生成器 1、列表生成器:列表生成式就像是一个厨师,他只会做这n(n为任意整数)道菜,想吃甚麽做甚麽,不吃不做,不浪费空间;而列表表达式就相当于已经做好的n盘菜,占用空间。2、生成器的创建方法: s = (x*2 for x in...
    99+
    2023-01-30
    生成器 迭代 python
  • 正确理解python迭代器与生成器
    目录一、迭代器二、生成器三、生成器函数3.1、zip(可迭代对象1,可迭代对象2......)3.2、enumerate(iterable[,start])一、迭代器 迭代器就是iter(可迭代对象函数)返回的对象,...
    99+
    2022-06-02
    python 迭代器 python 生成器
  • Python 迭代器与生成器实例详解
    Python 迭代器与生成器实例详解 一、如何实现可迭代对象和迭代器对象 1.由可迭代对象得到迭代器对象 例如l就是可迭代对象,iter(l)是迭代器对象 In [1]: l = [1,2,3,4] ...
    99+
    2022-06-04
    生成器 详解 实例
  • Python中迭代器与生成器的用法
    一、迭代器(foreach) 1、可迭代的对象 内置有__iter__方法的都叫可迭代的对象。 Python内置str、list、tuple、dict、set、file都是可迭代对象...
    99+
    2022-11-11
  • JavaScript迭代器与生成器使用详解
    目录迭代器 (Iterator)Iterator工作原理自定义遍历数据生成器 (Generator)生成器参数传递使用生成器实现回调地狱功能生成器函数实例生成器—thro...
    99+
    2022-11-13
    JavaScript迭代器与生成器 JavaScript生成器 JavaScript迭代器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作