对Python 3.2 迭代器的next函数实例讲解

yipeiwu_com5年前Python基础

在python中,使用iter函数可以获得有序聚合类型的迭代器,我个人将迭代器理解为带有next指针的单向链表,获取到的迭代器为链表的表头,表头内容为空,next指针指向有序聚合类型的第一个元素。在访问链表最后一个元素的next指针时,python会报错StopIteration。

Python3.x以上的版本在使用next函数时需要注意的是:next()函数在3.x以上的版本更改为__next__().

使用for迭代器打印文件中的内容的代码如下:

file_obj=open(r'E:\Project\Python\123.txt','r')
 
for string in file_obj:
 string=string.rstrip('\n')
 print(string)
 
file_obj.close()

在上述代码中,文件对象file_obj为有序聚合类型,for循环会自动调用file_obj的迭代器,并调用该迭代器的next函数,知道发生StopIteration错误。

下边的代码模拟for循环中的迭代器,显式调用next函数访问字符串的元素。

s='www.scu.edu.com'
 
it=iter(s)
length=len(s)
i=0
while i<length:
 print(it.__next__())
 i=i+1

以上这篇对Python 3.2 迭代器的next函数实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈pandas中DataFrame关于显示值省略的解决方法

浅谈pandas中DataFrame关于显示值省略的解决方法

python的pandas库是一个非常好的工具,里面的DataFrame更是常用且好用,最近是越用越觉得设计的漂亮,pandas的很多细节设计的都非常好,有待使用过程中发掘。 好了,发完...

Django实战之用户认证(用户登录与注销)

Django实战之用户认证(用户登录与注销)

上一篇中,我们已经打开了Django自带的用户认证模块,并配置了数据库连接,创建了相应的表,本篇我们将在Django自带的用户认证的基础上,实现自己个性化的用户登录和注销模块。 首先,我...

python实现中文分词FMM算法实例

本文实例讲述了python实现中文分词FMM算法。分享给大家供大家参考。具体分析如下: FMM算法的最简单思想是使用贪心算法向前找n个,如果这n个组成的词在词典中出现,就ok,如果没有出...

mac系统下Redis安装和使用步骤详解

前言 本篇文章主要讲述了Mac下Redis的安装和使用的经验,并将python如何操作Redis做了简单介绍。 1. redis 安装 和启动 1.1 用brew安装 1.查看系统...

python使用pandas实现数据分割实例代码

本文研究的主要是Python编程通过pandas将数据分割成时间跨度相等的数据块的相关内容,具体如下。 先上数据,有如下dataframe格式的数据,列名分别为date、ip,我需要统计...