python中迭代器有哪些_Python迭代器:什么是Python中的迭代器以及如何使用它?

Python编程语言已经扩展了创新的每一个方面,包括机器学习、数据科学、人工智能等,这些概念是Python作为编程语言取得成功的基石。在本文中,我们将通过以下概念来理解Pytho

Python编程语言已经扩展了创新的每一个方面,包括机器学习、数据科学、人工智能等,这些概念是Python作为编程语言取得成功的基石。在本文中,我们将通过以下概念来理解Python迭代器:

迭代器与Iterable什么是Python迭代器?自定义迭代器无限迭代器停止迭代Python迭代器示例迭代器与Iterable

Python中可以用作Iterable对象的对象称为Iterable。这基本上意味着对象中的序列可以迭代。大多数Python集合,比如list、dictionary、tuple、set,甚至range,都可以看作是Iterable。

什么是Python迭代器

“Python迭代器是一个包含可数个值的容器。容器中的值可以使用迭代器(特别是列表)遍历。

除了遍历之外,迭代器还提供对容器中数据元素的访问,但它本身并不执行迭代,即,如果不使用该概念或术语的简单使用而获得一些重要的自由,则不会执行迭代。迭代器在行为上几乎类似于数据库游标。下面是Python中迭代器的一个简单示例。

我的目标是{“Edureka”,“Python”,“迭代器”}打印(下一个(iter_obj))对于对象中的i:印刷品(一)

让我们了解for循环如何作为迭代器工作。

#从该iterable创建迭代器对象#无限循环如果是真的:尝试:#获取下一个项目元素=下一个(iter_obj)除了停止迭代:打破MyNumber类:自我a=1下一个定义(自我):自身a =1my >输出:1

2

3

既然我们知道如何实现自定义迭代器,让我们看看Python中的无限迭代器。

无限迭代器

迭代器对象中的项不一定要用尽。可以有无限的迭代器(永不结束)。下面是演示无限迭代器的基本示例。

内置函数iter()可以用两个参数调用,其中第一个参数必须是可以调用的对象(函数),第二个参数是sentinel。迭代器调用这个函数,直到返回的值等于sentinel。

让我们举一个例子来理解这个

MyNumber类:定义(自我):回归自我 下一个定义(自我):自身a =1返回x my >输出:1 2 3 4 5

在上面的示例中,只要我们继续添加print语句,就可以继续执行。要停止无限迭代器,我们需要使用stopietition语句。

stopietition

要停止永远进行的迭代,我们需要使用stopietition语句。让我们通过几个例子来理解这个问题。

定义(自我):自我。a=1个 下一个定义(自我):如果self.a&;lt;=5:自我。a =1个其他: my >输出:Edureka

在本例中,我们使用元组作为iterable对象。

iter_obj=iter(我的目标)

输出:Edureka

我们甚至可以在python中将字符串用作iterable对象。

my_obj=“爱德华雷卡”打印(下一个(iter_obj))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 事务方法与非事务方法相互调用 @Transactional 注解失效不回滚?

写这篇文章的初衷呢就是最近遇到了一个Spring事务的大坑。与其说是坑,还不如说是自己事务这块儿太薄弱导致的(自嘲下)。 项目环境 Spring Boot 下面开始问题描述,发生的过程有点长,想直接看方案的直接跳过哦~&#x…

10 - java 权限修饰符

java权限修饰符 作用域当前类同package子孙类其他packagepublic√√√√protected√√√friendly(defult)√√private√ 为什么要时候用权限修饰符? 对自己而言,保护代码不受污染对别人而言,给别人一个干净的类

vue后端必须接口吗_前后端分离模式,后端说开发完才能给接口文档,合理吗

背景:汇总了下老王在其他平台的原创回复,欢迎关注老王原创公众号【软件老王】,关注不迷路。一、后端开发完接口才给出接口文档,合理吗?本人所在的项目组做项目过程中,后端不会先给出接口文档,而…

JAVA那点破事,并发、IO模型、集合、线程池、死锁、非阻塞、AQS...

JDK、JRE、JVM 三者有什么关系? 答案: JDK(全称 Java Development Kit),Java开发工具包,能独立创建、编译、运行程序。 JDK JRE java开发工具(javac.exe/java.exe/jar.exe) JRE(…

09 - java 包命名规范

java包命名规范 – 域名倒置 Java的包名都有小写单词组成,类名首字母大写;包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类。以便看了包名就明白是哪个模块,从而直接到对…

python memoryview_memoryview的用法

本来第一次看《流畅的python》觉得这部分没用,就跳过去,后面又出现,回头看还是一知半解,查了诸多资料,好像有一点明白了,立下帖子。1、memoryviewmemoryview()函数返回给定参数的内存查看对象(memory view)…

07 - java 方法里面的 return

Java 方法里面的 return return 之函数返回值 public static int sum(a, b) {return a b; }return 之结束方法 Scanner sc new Scanner(System.in): int num sc.nextInt();if (num 5) {return;System.out.println("哈哈哈,我是不会执行的"); // 函数遇…

世外桃源六python_六年匠心 桃花源记6月1日全民狂欢

六年匠心独运,烂漫之约!深圳淘乐携手并肩云畅游戏倾情打造出的人民良知连击手游《桃花源记》昨天宣布告一段落为期一周的小彩蛋检测!小彩蛋检测打开至今,诸位少主呼叫队友飘缈世外桃源的情绪高涨,网络服务器因而一度出現了满员的隆重开幕。而…

PTA 最小生成树-kruskal

7-92 最小生成树-kruskal 分数 10 全屏浏览题目 作者 任唯 单位 河北农业大学 题目给出一个无向连通图,要求求出其最小生成树的权值。 温馨提示:本题请使用kruskal最小生成树算法。 输入格式: 输出格式: 输出一个整数表示最小生成树的各边的长度之和。…

06 - java 方法

Java 方法 一个方法可以重复使用很多次,减少不必要的冗余,以及重复很多次不必要的操作让整个程序看起来模块化 public static void main (String[] args) {Scanner sc new Scanner(System.in);int num sc.nextInt();switch (num) {case 1: int[] arr…

Spring系列:父子容器详解

又一次被面试官带到坑里面了。 面试官:springmvc用过么? 我:用过啊,经常用呢 面试官:springmvc中为什么需要用父子容器? 我:嗯。。。没听明白你说的什么。 面试官:就是controll…

05 - 基本排序

01-冒泡排序 public static int[] bubbleSort(int[] arr) {for (int i 0; i < arr.length - 1; i) {for (int j 0; j < arr.length - i; j) {if (arr[i] > arr[i 1]) {// 两两交换int temp arr[i];arr[i] arr[i 1];arr[i 1] temp;}}}return arr; }02-选择排序…

java实现单链表

链表是java数据结构中一种很基础很常见却也很重要的数据结构&#xff0c;JDK中许多内置jar包基于单链表实现&#xff0c;比如像我们熟悉的linkedList等&#xff0c;为什么要使用链表呢&#xff1f; 我们知道java中很多集合的底层是基于数组实现的&#xff0c;数组有一个很重要…

sql 两表数据合并_多表查询SQL语句

本篇文章中主要讲述以下内容&#xff1a;一、表的加法合并两张表的过程&#xff1a;然后运用sql语句&#xff1a;select 课程号,课程名称 from course union select 课程号,课程名称 from course1以上子句会把两个表中重复数据删除。要想不删除重复的行&#xff0c;则需要在上面…

04 - java 运算符

位移运算符 有符号左移 << int a 1 << 2; System.out.println(a); // 4 > 1 * 2 ^ 2无符号左移 <<< 右移 >> int a 1 >> 2; System.out.println(a); // 0 > 1 / 2 ^ 2cpu计算位移、与或非的速度非常快

angularjs增删改查数据_MongoDB数据读写操作(增删改查)总结

《大数据和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、Scala、javascript 等目前流行的计算机、大数据编程语言&#xff0c;希望大家以后关注本头条号更多的内容。一、在执行mongo.exe文件后&#xff0c;进入MongoDB的shell 操作1、创建一个数据库use users2、查…

SpringAop与AspectJ的联系与区别____比较分析 Spring AOP 和 AspectJ 之间的差别

SpringAop与AspectJ的联系与区别 区别 AspectJ AspectJ是一个面向切面的框架&#xff0c;它扩展了Java语言。AspectJ定义了AOP语法&#xff0c;所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。 spring aop Spring提供了四种类型的Aop支持 * 基于经典的…

ssrf漏洞内网渗透_渗透小白看了也能明白的SSRF

什么是SSRF含义服务器端请求伪造&#xff08;SSRF&#xff09;是指攻击者能够从易受攻击的Web应用程序发送精心设计的请求的对其他网站进行攻击。(利用一个可发起网络请求的服务当作跳板来攻击其他服务)攻击者能够利用目标帮助攻击者访问其他想要攻击的目标攻击者要求服务器为他…

高并发之服务降级和服务熔断____服务降级、熔断、限流的区别

高并发之服务降级和服务熔断 服务降级&#xff1a; 服务压力剧增的时候根据当前的业务情况及流量对一些服务和页面有策略的降级&#xff0c;以此环节服务器的压力&#xff0c;以保证核心任务的进行。 同时保证部分甚至大部分任务客户能得到正确的相应。也就是当前的请求处理…

03 - 变量的数据类型

1. 数据类型 java的数据类型可以分为四类八种 整形 byte 8位 – 1字节 – 取值范围是 (-128~127) > 11111111~10000000 第一位称作符号位&#xff0c;以1开头的是负数&#xff0c;以0开头的是整数正数的源码、反码、补码都是本身 00011100负数的反码 – 除了符号位&#xf…