【Python】Itertools.cycle()用法及代码示例

2024-08-27 17:32

本文主要是介绍【Python】Itertools.cycle()用法及代码示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

让迭代器可以无限循环迭代。

迭代器定义为对象类型,其中包含可以使用循环访问或迭代的值。 内置与Python一起提供了不同的迭代器,例如列表,集合等。Itertools是Python模块,其中包含一些用于使用迭代器生成序列的内置函数。该模块提供了在迭代器上工作以生成复杂迭代器的各种功能。该模块可作为一种快速的内存有效工具,可单独使用或组合使用以形成迭代器代数。

有不同类型的迭代器

  • 无限迭代器:

    这些类型的迭代器会产生无限序列。

  • 短序列迭代器:

    这些迭代器产生在某些迭代之后终止的序列。

  • 组合发电机的功能:

    ​​​​​​​这些生成器组合产生与输入自变量相关的序列。

Itertools.cycle()

  • 函数仅接受一个参数作为输入,可以像列表,字符串,元组等
  • 该函数返回迭代器对象类型
  • 在函数的实现中,返回类型为yield,它在不破坏局部变量的情况下挂起函数执行。由生成中间结果的生成器使用
  • 它遍历输入自变量中的每个元素并产生它并重复循环,并产生一个无穷大的自变量序列

下面提到的Python程序说明了循环功能的功能。它以字符串类型作为参数并产生无限序列。

import itertools # String for sequence generation 
Inputstring ="Geeks"# Calling the function Cycle from 
# itertools and passing string as  
#an argument and the function returns 
# the iterator object 
StringBuffer = itertools.cycle(Inputstring) 
SequenceRepeation = 0
SequenceStart = 0
SequenceEnd = len(Inputstring) for output in StringBuffer:if(SequenceStart == 0):print("Sequence % d"%(SequenceRepeation + 1)) # Cycle function iterates through each # element and produces the sequence  # and repeats it the sequence print(output, end =" ") # Checks the End of the Sequence according  # to the give input argument if(SequenceStart == SequenceEnd-1):if(SequenceRepeation>= 2):breakelse:SequenceRepeation+= 1SequenceStart = 0print("\n") else:SequenceStart+= 1

 

输出:

Sequence  1
G e e k s Sequence  2
G e e k s Sequence  3
G e e k s

itertools.cycle函数还可以与Python列表一起使用。下面提到的Python程序说明了该功能。它以Python列表作为参数并产生无限序列。

import itertools # List for sequence generation 
Inputlist = [1, 2, 3] # Calling the function Cycle from 
# itertools and passing list as  
# an argument and the function  
# returns the iterator object 
ListBuffer = itertools.cycle(Inputlist) 
SequenceRepeation = 0
SequenceStart = 0
SequenceEnd = len(Inputlist) for output in ListBuffer:if(SequenceStart == 0):print("Sequence % d"%(SequenceRepeation + 1)) # Cycle function iterates through  # each element and produces the  # sequence and repeats it the sequence print(output, end =" ") # Checks the End of the Sequence according # to the give input argument if(SequenceStart == SequenceEnd-1):if(SequenceRepeation>= 2):breakelse:SequenceRepeation+= 1SequenceStart = 0print("\n") else:SequenceStart+= 1

输出:

Sequence  1
1 2 3 Sequence  2
1 2 3 Sequence  3
1 2 3 

这篇关于【Python】Itertools.cycle()用法及代码示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112316

相关文章

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex