一篇文章带你了解python迭代器和生成器

目录
  • python迭代器和生成器
  • 2、生成器
  • 总结

python迭代器和生成器

1、迭代器

这里用字典示例

while True 属于无限循环,因字典元素有限,所以用try做异常处理

dict1 = {
    'name':'laowang',
    'age':18,
    'high':180
}
iterator = dict1.__iter__()
while True:
    try:
        res = iterator.__next__()
    except:
        break
    else:
        print(res,dict1[res]

结果:

name laowang
age 18
high 180

2、生成器

先看一下列表推导式

list1 = [i for i in range(1,10)]
# 结果
[1, 2, 3, 4, 5, 6, 7, 8, 9]

生成器

list1 = (i for i in range(1,10))
# 结果
<generator object <genexpr> at 0x7fa491ea3410>
# generator 生成器
#生成器函数
def func1():
    for i in range(1,10):
        yield i
res = func1() #生成器对象
for i in res:
    print(i)

总结

本片文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • 实例讲解Python 迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 迭代器有两个基本的方法:iter() 和 next(). 字符串,列表或元组对象都可用于创建迭代器: >>> list=[1,2,3,4] >>> it = iter(list) # 创建迭代器对象 >>> print (next(it)) # 输出迭

  • 彻底搞懂python 迭代器和生成器

    迭代器跟生成器,与上篇文章讲的装饰器一样,都是属于我的一个老大难问题. 通常就是遇到的时候就去搜一下,结果在一大坨各种介绍博客中看了看,回头又忘记了. 你是不是也是这样呢? 俗话说:好记性不如烂笔头,虽然现在基本不咋用笔写字了,但是还是要好好整理下,起码以后我就不用搜了. 如果现在给你一个列表list_a = [1, 2, 3, 4],让你去迭代它,相信大家都很熟悉,直接用for循环就完事儿, list_a = [1, 2, 3, 4] for i in list_a: print(i) 运行

  • 正确理解python迭代器与生成器

    目录 一.迭代器 二.生成器 三.生成器函数 3.1.zip(可迭代对象1,可迭代对象2......) 3.2.enumerate(iterable[,start]) 一.迭代器 迭代器就是iter(可迭代对象函数)返回的对象,说人话.......可迭代对象由一个个迭代器组成 可以用next()函数获取可迭代对象的数据 迭代是访问集合元素的一种方式(因为集合是无序的,所以不能索引),naxt(集合), 迭代器对象从集合的第一个元素开始访问,直到所有元素被访问结束,迭代器只能往前不会往后退 迭代器

  • python学习之可迭代对象、迭代器、生成器

    Iterable – 可迭代对象 能够逐一返回其成员项的对象. 可迭代对象的例子包括所有序列类型 (例如 list, str 和 tuple) 以及某些非序列类型例如 dict, 文件对象以及定义了__iter__()方法或是实现了序列语义的__getitem__() 方法的任意自定义类对象. 可迭代对象可用于 for 循环以及许多其他需要一个序列的地方(zip().map() -).当一个可迭代对象作为参数传给内置函数 iter() 时,它会返回该对象的迭代器.这种迭代器适用于对值集合的一次性

  • 五分钟带你搞懂python 迭代器与生成器

    前言 大家周末好,今天给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉得这是一种新的获取数据的方法.对于获取数据的方法而言,我们会一种就足够了.但是在我后来Python的使用以及TensorFlow等学习使用当中,我发现很多地方都用到了迭代器和生成器,或者是直接使用,或者是借鉴了思路.今天就让我们仔细来看看,它们到底是怎么回事. 迭代器 我们先从迭代器开始入手,迭代器并不是Python独有的概念,在C++和Java当中都有itera

  • 一篇文章带你了解python迭代器和生成器

    目录 python迭代器和生成器 2.生成器 总结 python迭代器和生成器 1.迭代器 这里用字典示例 while True 属于无限循环,因字典元素有限,所以用try做异常处理 dict1 = { 'name':'laowang', 'age':18, 'high':180 } iterator = dict1.__iter__() while True: try: res = iterator.__next__() except: break else: print(res,dict1[

  • 一篇文章带你了解python异常基础

    目录 1. 程序中的问题 1.1 低级语法错误 1.2 中介错误:代码存在隐性错误 1.3 高级错误:软件面对不确定性的异常错误 2. 捕捉异常 2.1 基本异常捕捉语句 2.2 带finally子句的异常处理 2.3 try-except-else 结构 2.4 try-except-else-finally 结构 2.5 捕捉特定异常信息 3. 抛出异常 总结 1. 程序中的问题 1.1 低级语法错误 低级错误纯属语法错误,代码主要在编写.调试阶段就报错. >>> if True S

  • 一篇文章带你了解python标准库--time模块

    目录 1. 调用语法: 2. time概述 3. 时间获取 4. 时间格式化(将时间以合理的方式展示出来) 5. 程序计时应用 6. 示例 总结 Time库是python中处理时间的标准库 1. 调用语法: import time time.<b>() 计算机时间的表达,提供获取系统时间并格式化输出功能 提供提供系统精确即使功能,用于程序性能分析 2. time概述 time库包括三类函数 时间获取: time() ctime() gmtime() 时间格式化: strftime() strp

  • 一篇文章带你了解python字典基础

    目录 1. 字典基础知识 字典的基本格式表示 字典的键.值设置要求 1)键的设置要求 2)值的设置要求 2. 字典元素增加 1.利用赋值给字典增加元素 2.利用setdefault()方法给字典增加元素 3. 字典值查找 1.字典名+[key]查找 2.利用get()方法查找 4. 字典值修改 1.利用赋值修改键对应的值 2.利用update()方法修改键对应的值 5. 字典元素删除 1.利用del函数删除 2.利用pop()方法删除 3.利用popitem()方法删除 6. 字典遍历操作 1.

  • 一篇文章带你了解python标准库--math模块

    目录 1. math模块中的常用函数 2. 案例 2.1 浮点数求整 2.2 对元组里的每个元素求和 2.3 求数的绝对值 总结 python语言的一大优势:为科学计算提供了大量的支持功能,math模块提供了很多数学计算函数. math模块定义了一些数学模块,这个模块属于编译系统自带,因此它可以被无条件调用,需要注意的是,这些函数无法应用于复数. 1. math模块中的常用函数 2. 案例 2.1 浮点数求整 1.用trunc(x)取整,x为浮点数 >>> import math >

  • 一篇文章带你了解Python中的装饰器

    目录 前言 Python 中的装饰器是什么 语法糖 使用 Python 装饰器修改函数行为 使用 Python 装饰器对函数进行计时 使用 Python 装饰器将有用信息记录到终端 Web app 中使用的装饰器 将参数传递给 Python 装饰器 使用多个 Python 装饰器 总结 前言 本文将带你学习装饰器在 Python 中的工作原理,如果在函数和类中使用装饰器,如何利用装饰器避免代码重复(DRY 原则,Don’t Repeat Yourself ). Python 中的装饰器是什么 装

  • 一篇文章带你了解python标准库--sys模块

    目录 sys部分常用函数 1.sys.path函数用于获取模块文件搜索路径的字符串列表,或临时指定新的搜索路径 2.sys.platform为操作系统标识符判断函数 3.getwindowsversion()函数返回描述当前正在运行Windows版本信息的元组 总结 sys模块提供了与python解释器紧密相关的一些变量和函数. sys部分常用函数 函数 说明 path 获取模块文件搜索路径的字符串,或临时指定新搜索路径 platform 操作系统标识符判断函数 getwindowsversio

  • 一篇文章带你了解python正则表达式的正确用法

    目录 正则表达式的介绍 re模块 匹配单个字符 1.匹配任意一个字符 2.匹配[ ]中列举的字符 3.\d匹配数字,即0-9 4.\D匹配非数字,即不是数字 5.\s匹配空白,即 空格,tab键 6.\S匹配非空白 7.\w匹配非特殊字符,即a-z.A-Z.0-9._.汉字 8.\W匹配特殊字符,即非字母.非数字.非汉字 总结 正则表达式的介绍 1)在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱.手机号码等,这时候想匹配或者查找符合某些规则的字符串就可以使用正则表达式了.

  • 一篇文章带你了解python集合基础

    目录 1. 集合类型定义 (1)集合是多个元素的无序组合 2. 集合操作符 3. 集合处理方法 4. 集合类型应用场景 (1)包含关系比较 (2)数据去重:集合数据所有元素无重复 总结 1. 集合类型定义 (1)集合是多个元素的无序组合 集合类型与数学中的集合概念一致 集合元素之间无序,每个元素唯一,不存在相同元素 集合元素不可更改,不能是可变数据类型 集合使用{}表示,元素间用英文逗号分隔 建立集合类型用{}或set() 建立空集合类型,必须使用set() a = {'python',256,

  • 一篇文章带你了解python元组基础

    目录 1. 元组基本知识 1.元组的基本格式和用法 2. 元组操作实例 1.建立元组 2.查找元素:通过元组下标实现. 3.删除元组:对元组的删除时不允许的,可以通过del函数,实现对整个元组对象的删除. 4.统计元素 5.合并元组 6.转换元组 总结 1. 元组基本知识 元组:是不可变的序列,也是一种可以存储各种数据类型的集合,用小括号(())表示与那组的开始和结束,元素之间用半角逗号(,)分隔.不可变指不能对元组对象进行增加元素.变换元素位置.修改元素.删除元素操作.元组中每个元素提供对应的

随机推荐