返回顶部
首页 > 资讯 > 后端开发 > Python >Python教程之无限迭代器的使用详解
  • 817
分享到

Python教程之无限迭代器的使用详解

2024-04-02 19:04:59 817人浏览 薄情痞子

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

摘要

目录无限迭代器计数(开始,步骤)循环(可迭代)重复(值、数)python的Itetool是一个模块,它提供了各种函数,这些函数在迭代器上工作以产生复杂的迭代器。该模块作为一个快速,内

python的Itetool是一个模块,它提供了各种函数,这些函数在迭代器上工作以产生复杂的迭代器。该模块作为一个快速,内存效率的工具,可以单独使用或组合使用以形成迭代器代数

例如,假设有两个列表,并且您想要将它们的元素相乘。有几种方法可以实现这一目标。可以使用朴素的方法,即同时迭代列表的元素并将它们相乘。另一种方法是使用 map 函数,即通过将 mul 运算符作为第一个参数传递给 map 函数,并将 List 作为该函数的第二个和第三个参数传递。让我们看看每种方法所花费的时间。

# 演示迭代器模块的Python程序


import operator
import time

# 定义列表
L1 = [1, 2, 3]
L2 = [2, 3, 4]

# 映射函数之前的开始时间
t1 = time.time()

# 计算结果
a, b, c = map(operator.mul, L1, L2)

# 映射函数后的结束时间
t2 = time.time()

# 映射函数花费的时间
print("Result:", a, b, c)
print("Time taken by map function: %.6f" %(t2 - t1))

# 初始方法之前的开始时间
t1 = time.time()

# 使用for循环计算结果
print("Result:", end = " ")
for i in range(3):
	print(L1[i] * L2[i], end = " ")
	
# 朴素方法后的结束时间
t2 = time.time()
print("\nTime taken by for loop: %.6f" %(t2 - t1))

输出:

Result: 2 6 12
Time taken by map function: 0.000005
Result: 2 6 12 
Time taken by for loop: 0.000014

在上面的示例中,可以看出 map 函数所花费的时间大约是 for 循环所用时间的一半。这表明迭代工具是快速、内存高效的工具。

此模块提供的不同类型的迭代器包括:

  • 无限迭代器
  • 组合迭代器
  • 终止迭代器

无限迭代器

Python 中的迭代器是可以与“for in 循环”一起使用的任何 Python 类型。Python 列表、元组、字典和集合都是内置迭代器的示例。但是迭代器对象不必穷尽,有时它可以是无限的。这种类型的迭代器称为无限迭代器

Python 提供了三种类型的无限迭代器:

计数(开始,步骤)

此迭代器从“开始”数字开始打印并无限打印。如果提到步骤,则跳过数字,否则默认情况下步骤为1。请参阅下面的示例,了解它与 for in 循环的用法。

例:

# 演示无限迭代器的Python程序

import itertools

# for 循环
for i in itertools.count(5, 5):
	if i == 35:
		break
	else:
		print(i, end =" ")

输出:

5 10 15 20 25 30

循环(可迭代)

此迭代器按传递的容器中的顺序打印所有值。当所有元素都以循环方式打印时,它将再次从头开始重新开始打印

示例 1:

# 演示无限迭代器的Python程序

import itertools

count = 0

# for 循环
for i in itertools.cycle('AB'):
	if count > 7:
		break
	else:
		print(i, end = " ")
		count += 1

输出:

A B A B A B A B 

示例 2: 使用下一个函数。

# 演示无限迭代器的Python程序

import itertools

l = ['Geeks', 'for', 'Geeks']

# 定义迭代器
iterators = itertools.cycle(l)

# for 循环
for i in range(6):
	
	# Using next function
	print(next(iterators), end = " ")

组合迭代器

输出:

Geeks for Geeks Geeks for Geeks 

重复(值、数)

此迭代器重复打印传递的值无限次。如果提到可选关键字 num,则它会重复打印 num 次数。

例:

# 演示 repeat() 工作的Python代码
	
# 为迭代器操作导入“itertools”
import itertools
	
# 使用 repeat() 重复打印数字
print ("Printing the numbers repeatedly : ")
print (list(itertools.repeat(25, 4)))

输出:

Printing the numbers repeatedly : 
[25, 25, 25, 25]

到此这篇关于Python教程之无限迭代器的使用详解的文章就介绍到这了,更多相关Python无限迭代器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python教程之无限迭代器的使用详解

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

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

猜你喜欢
  • Python教程之无限迭代器的使用详解
    目录无限迭代器计数(开始,步骤)循环(可迭代)重复(值、数)Python的Itetool是一个模块,它提供了各种函数,这些函数在迭代器上工作以产生复杂的迭代器。该模块作为一个快速,内...
    99+
    2024-04-02
  • Python学习之迭代器的使用教程详解
    目录Python 迭代器迭代器 VS 可迭代对象(Iterable)遍历迭代器创建迭代器StopIterationPython 迭代器 迭代器是一种对象,该对象包含值的可计数数字。 ...
    99+
    2023-03-06
    Python迭代器使用 Python迭代器
  • Python异步之迭代器如何使用详解
    目录正文1. 什么是异步迭代器1.1. Iterators1.2. Asynchronous Iterators2. 什么是“async for”循环?3. ...
    99+
    2023-03-22
    Python异步迭代器 Python异步
  • 详解Python中while无限迭代循环方法
    目录前言while循环break语句 和 continue语句else 子句无限循环嵌套while循环单行 while 循环前言 Python 有 while 语句和 for 语句作...
    99+
    2024-04-02
  • Python学习之迭代器详解
    目录什么是迭代器如何生成迭代器迭代器函数 - iter() 函数 与 next() 函数可迭代的对象生成迭代器迭代器的用法 - 演示案例什么是迭代器 迭代是 python 中访问集合...
    99+
    2024-04-02
  • 详解Python之可迭代对象,迭代器和生成器
    目录一、概念描述二、序列的可迭代性三、经典的迭代器模式四、生成器也是迭代器五、实现惰性迭代器六、使用生成器表达式简化惰性迭代器总结 一、概念描述 可迭代对象就是可以迭代的对象,我们可...
    99+
    2024-04-02
  • Python函数进阶之迭代器的原理与使用详解
    目录什么是迭代器概念特征惰性序列检查可迭代对象定义迭代器使用iter函数使用__iter__方法判断迭代器检查内置方法使用collections模块调用迭代器使用next方法和函数什...
    99+
    2024-04-02
  • Python 的迭代器与zip详解
    目录关于迭代器关于zip总结:首先抛出一个困扰本人许久的问题: nums = [1,2,3,4,5,6] numsIter = iter(nums) for _ in zip(*...
    99+
    2024-04-02
  • Java中Iterator迭代器的使用详解
    目录Iterator接口迭代器的实现原理增强for练习1:遍历数组练习2:遍历集合Iterator接口 在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个...
    99+
    2022-11-13
    Java Iterator迭代器 Java Iterator Java 迭代器
  • Python异步之迭代器怎么使用
    这篇文章主要介绍“Python异步之迭代器怎么使用”,在日常操作中,相信很多人在Python异步之迭代器怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python异步之迭代器怎么使用”的疑惑有所帮助!...
    99+
    2023-07-05
  • Python入门教程(二十四)Python的迭代器
    目录Python 迭代器迭代器 VS 可迭代对象(Iterable)遍历迭代器创建迭代器StopIterationPython 迭代器 迭代器是一种对象,该对象包含值的可计数数字。 ...
    99+
    2023-05-17
    Python 入门 Python 迭代器
  • 详解Python中迭代器和生成器的原理与使用
    目录1.可迭代对象、迭代器1.1概念简介1.2可迭代对象1.3迭代器1.4区分可迭代对象和迭代器1.5可迭代对象和迭代器的关系1.6可迭代对象和迭代器的工作机制1.7自己动手创建可迭...
    99+
    2024-04-02
  • JavaScript迭代器与生成器使用详解
    目录迭代器 (Iterator)Iterator工作原理自定义遍历数据生成器 (Generator)生成器参数传递使用生成器实现回调地狱功能生成器函数实例生成器—thro...
    99+
    2022-11-13
    JavaScript迭代器与生成器 JavaScript生成器 JavaScript迭代器
  • Python学习之os包使用教程详解
    目录os 模块文件与目录函数介绍path 模块​path 模块常用方法今天我们来学习一下 python 的内置包 —> OS 包。OS 包拥有着普遍的操作系统功能,...
    99+
    2024-04-02
  • Python标准库之time库的使用教程详解
    目录1.时间戳2.结构化时间对象3.格式化时间字符串4.三种格式之间的转换time模块中的三种时间表示方式: 时间戳 结构化时间对象 格式化时间字符串 1.时间戳 时间戳1970.1...
    99+
    2024-04-02
  • Python浅析迭代器Iterator的使用
    目录前言迭代器是什么自定义迭代器前言 当我们需要对列表(list)、元组(tuple)、字典(dictionary)和集合(set)的元素进行遍历时,其实Python内部都是启动迭代...
    99+
    2024-04-02
  • Python学习之sys模块使用教程详解
    sys模块 与 os包一样,也是对系统资源进行调用。功能同样也是非常丰富,接下来我们会对 sys模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见...
    99+
    2024-04-02
  • Python学习之时间包使用教程详解
    目录datetime 时间包datetime 时间包的常用功能时间对象转字符串时间字符串转时间类型时间格式符time模块认识时间戳time 模块的常用方法datetime 中生成时间...
    99+
    2024-04-02
  • python中的生成器、迭代器、装饰器详解
    一、装饰器 由于一个函数能实现一种功能,现在想要在不改变其代码的情况下,让这个函数进化一下,即能保持原来的功能,还能有新的"技能",怎么办? 现已经存在一个自定义...
    99+
    2024-04-02
  • Java中Iterator(迭代器)的用法详解
    Java迭代器(Iterator)是 Java 集合框架中的一种机制,它提供了一种在不暴露集合内部实现的情况下遍历集合元素的方法。Java Iterator(迭代器)不是一个集合,它...
    99+
    2023-05-19
    Java Iterator迭代器使用 Java Iterator Java 迭代器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作