广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python基础:迭代器与生成器
  • 441
分享到

python基础:迭代器与生成器

生成器迭代基础 2023-01-31 02:01:55 441人浏览 薄情痞子

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

摘要

一、迭代器 迭代器只能向前访问,不能后退字典,列表,元组,字符串,range都是可以迭代的对象。 1、创建迭代器 `dict={1:3,2:4,3:5,4:6}key = iter(dict)print(key)print(next(key

一、迭代器

迭代器只能向前访问,不能后退
字典,列表,元组,字符串,range都是可以迭代的对象。

1、创建迭代器

`dict={1:3,2:4,3:5,4:6}
key = iter(dict)
print(key)
print(next(key))
print(next(key))

values = iter(dict.values())
print(values)
print(next(values))
print(next(values))

list= [1, 2, 3, 4, 5]
list2 = iter(list)
print(list2)
print(next(list2))
print(next(list2))
print(next(list2))
print(next(list2))

ranges = iter(range(1, 10))
print(ranges)
print(next(ranges))
print(next(ranges))
print(next(ranges))`
运行结果:

<dict_keyiterator object at 0x00523870>
1
2
<dict_valueiterator object at 0x005238A0>
3
4
<list_iterator object at 0x00405B30>
1
2
3
4
<range_iterator object at 0x004F3A10>
1
2
3

2、读取迭代器:
#for遍历

    list= [1, 2, 3, 4, 5]
    for i in iter(list):
        print(i)

next()遍历:

 while True:
    try:
        print (next(it))
    except StopIteration:
        sys.exit()

二、生成器
使用了yield的函数称为生成器(generater).对于非常巨大的数了列表非常有用,一次读取一个元素,节省内存资源。
生成器用于不知道会生成多大数据的场景,每生成一个数据返回一次
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是迭代器。

       在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。

下面代码正常是死循环,但是使用yield以后,只在用next()方法,才会运行一次。

def gena(i=2):
    while True:
        i = i * 2 - 1
        yield i

运行:

l = gena(2)
print(l)
print(next(l))
print(next(l))

--结束END--

本文标题: python基础:迭代器与生成器

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

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

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

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

下载Word文档
猜你喜欢
  • 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基础入门(迭代器和生成器)
    1 Python迭代器 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。 迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next(),且字符串、列表或元组对象...
    99+
    2023-01-30
    生成器 入门 迭代
  • Python迭代器与生成器
    生成器仅仅拥有生成某种东西的能力,如果不用__next__方法是获取不到值得。创建一个生成器函数>>> def scq(): ...    print("11") # 当函数代码块中遇到yield关键字的时候,这个函数就是...
    99+
    2023-01-31
    生成器 迭代 Python
  • 迭代器与生成器
    这一部分待加强!                (一)迭代器    一:简介    迭代是Python最强大的功能之一,是访问集合元素的一种方式。    迭代器是一个可以记住遍历的位置的对象。    迭代器对象从集合的第一个元素开始访问,...
    99+
    2023-01-30
    生成器 迭代
  • 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生成器与迭代器怎么用
    这篇文章给大家分享的是有关Python生成器与迭代器怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、生成器现在可以通过生成器来直接创建一个列表,但是由于内存的限制,列表的容量肯定是有限的,如果我们需要一个...
    99+
    2023-06-25
  • Python3 迭代器与生成器
    Edit笔记内容:Python3 迭代器与生成器 笔记日期:2017-10-28迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元...
    99+
    2023-01-31
    生成器 迭代
  • 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
  • python迭代器和生成器
    1.经典迭代器 import re RE_WORD = re.compile('\w+') class Sentence: def __init__(self, text): self.text = te...
    99+
    2023-01-30
    生成器 迭代 python
  • Python 中迭代器与生成器实例详解
    Python 中迭代器与生成器实例详解 本文通过针对不同应用场景及其解决方案的方式,总结了Python中迭代器与生成器的一些相关知识,具体如下: 1.手动遍历迭代器 应用场景:想遍历一个可迭代对象中的所...
    99+
    2022-06-04
    生成器 详解 实例
  • Python中迭代器与生成器怎么使用
    一、迭代器(foreach)1、可迭代的对象内置有__iter__方法的都叫可迭代的对象。Python内置str、list、tuple、dict、set、file都是可迭代对象。x = 1.__iter__ # SyntaxError: ...
    99+
    2023-05-22
    Python
  • python迭代器,生成器详解
    目录迭代器 生成器 总结迭代器 聊迭代器前我们要先清楚迭代的概念:通常来讲从一个对象中依次取出数据,这个过程叫做遍历,这个手段称为迭代(重复执行某一段代码块,并将每一次迭代得到的结...
    99+
    2022-11-12
  • Python学习 :迭代器&生成器
    列表生成式 列表生成式的操作顺序: 1、先依次来读取元素 for x 2、对元素进行操作 x*x 3、赋予变量 Eg.列表生成式方式一 a = [x*x for x in range(10)] print(a) >>&g...
    99+
    2023-01-30
    生成器 迭代 Python
  • Python元类与迭代器生成器案例详解
    1.__getattr__和__getattribute__魔法函数 __getattr__是当类调用一个不存在的属性时才会调用getattr魔法函数,他传入的值item就是你这个调...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作