举例讲解如何在Python编程中进行迭代和遍历

作者&投稿:才凯 (若有异议请与网页底部的电邮联系)
~
迭代
首先理解下什么是迭代,python中所有从左往右扫面对象的方式都是可迭代的

有哪些方式是可迭代的:

1.文件操作

我们读取文件的时候,会用到一个readline()方法,其实它就是一个迭代器,它会返回当前的数据,然后自动的调用内置的next()方法来让文件的读取头自动的移动到当前的下面一行,准备下次的读取,到达文件末尾时,就会返回空字符串.

>>> f=open('hello.py')
>>> f.readline()
'#!/usr/bin/python2.5
'
>>> f.readline()
'print "hello.word!"
'
>>> f.readline()
'
'
>>> f.readline()
''

>>> for i in open('hello.py'):
... print(i)
...
#!/usr/bin/python2.5
print "hello.word!"


用上面这样方式来读取文件内容的话,速度很快,内存占用也比较低,特别适合操作大文件.

下面这个方式适合操作一些小的文件,速度和效率没有上面的好,所以建议以后操作文件的话,尽量用上面的。

>>> for i in open('hello.py').readlines():
... print i
...
#!/usr/bin/python2.5
print "hello.word!"


read方法和readline方法,
read()方法把整个文件的内容放到字符串里
readline()方法则把文件的内容按照行为单位放到列表里。
一般要替换文件里的某个字符的话,最好有readline,然后用循环把一行一行内容循环出来,再查找替换,这样效率比整个读到一个字符串里来查找匹配效果更高。

2 for循环

例如:

>>> for i in range(5):
... print(i)
...


它中间处理的过程和下面的是一样的:

>>> L=[0,1,2,3,4]
>>> I=iter(L)
>>> I.next()
0
>>> I.next()
1
>>> I.next()
2
>>> I.next()
3
>>> I.next()
4
>>> I.next()


Traceback (most recent call last):
File "", line 1, in
StopIteration


每次调用迭代器调用next()方法返回结果,并让文件指针往下移动一行,最后已StopIteration异常结束迭代。

3.列表解析:

相比python for循环速度会快很多

例如:

>>> L=[x+10 for x in range(10)]
>>> L


[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
python会在解释器里对range(10)进行迭代,依次把列表里的内容取出来,赋值给最左边的x,然后执行x+10的操作,
并且把执行好的结果保存在列表里。等range(10)迭代完以后就新生成了一个列表,结果就是[10,11,12,13,14,15,16,17,18,19]
从上面可以看出,这也是建立python 列表的一个方法。

上面例子也可以用for循环来实现.

>>> res=[]
>>> for x in range(10):
... res.append(x+10)
...
>>> res
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]


从上面可以看出,python列表解析比手动的for 更加精简,而且运行的更快(往往速度回快一倍),因为他们的迭代在解析器内部是以C语言的速度执行的,而不是以手动python代码执行的,特别对于较大的数据集合,这是使用列表解析的一个主要的性能优点.

遍历
1.通过序列取元素的方法进行遍历

root@10.1.6.200:python# vim 3.py


#!/usr/bin/python2.5
for i in 'hello': #序列里的字符串
print i,

y = [1,2,3,4,5,6] #列表
for i in y:
print i,


root@10.1.6.200:python# python 3.py


h e l l o 1 2 3 4 5 6


2.通过序列本身偏移指数(索引)的方法进行遍历

也就是迭代序列索引,注:迭代,重复执行一条指令.

root@10.1.6.200:python# vim 3.py


#!/usr/bin/python2.5
x='hello'
for i in range(len(x)):
print x[i]

y = [1,2,3,4,5,6]
for i in range(len(y)):
print y[i],


root@10.1.6.200:python# python 3.py


h e l l o 1 2 3 4 5 6


字典有2种方式取到其值:

1.先取字典key,在取索引的值

root@10.1.6.200:python# vim 5.py


#!/usr/bin/python2.5
z = {1:'a',2:'b',3:'c'}
for i in z:
print z[i]


root@10.1.6.200:python# python 5.py


a
b
c


2.通过字典items方法,获取所有键值对,在利用元组拆分的方法获得对应值.

root@10.1.6.200:python# cat 5.py


#!/usr/bin/python2.5
z = {1:'a',2:'b',3:'c'}
print z.items()
for m,n in z.items():
print m,n


root@10.1.6.200:python# python 5.py


[(1, 'a'), (2, 'b'), (3, 'c')]
1 a
2 b
3 c



pytimshow 怎么用
Pytimshow的使用方法如下:首先,准备好你要展示的图片,可以是任何格式,如 gif 图片。例如,使用 Python 读取图片:img = ***.imread('a.gif')。值得注意的是,尽管 gif 是动画格式,但这里展示的是一帧图片,所以可以成功读取。img实际上是一个多维数组,需要将其转化为图片,可以使用***.imshow...

Pyt时间就运行一次的任务,怎么写比较好
import time import os 然后定义你的函数`tick`,它会在每次执行时打印当前时间:def tick():print('Tick! The time is: %s' % datetime.now())接下来,当你在`if __name__ == '__main__':`块中启动程序时,可以创建一个BlockingScheduler实例,并添加一个按照cron表达式配置的任务,这里的'...

"PYT"在英语中具体指代什么?
英语缩写"PYT"通常指的是"Pretty Young Thing",中文直译为"年轻漂亮的东西"。本文将深入探讨这个缩写词的含义、发音以及在英语中的广泛使用情况,包括其流行度、分类、应用场景等。缩写PYT代表的英文单词"Pretty Young Thing",其中文拼音为"nián qīng piào liang de dōng xi",在互联网领域中,其...

pyt是什么
1. 易于使用:pytest的测试用例编写简单,无需编写额外的测试类或者测试方法,只需要编写普通的Python函数,并在函数名前面加上"test_"前缀即可。同时,pytest支持多种断言方法,如assertEqual、assertTrue等,方便进行断言操作。2. 高度灵活:pytest支持参数化测试,可以将一组输入数据和预期结果作为参数传递...

pyt行换到第二行的?
方法一:利用反斜线进行换行 在Python中,你可以在代码中使用反斜线("\\")来实现换行。以Python 3.5为例,首先打开命令行或终端,输入python3.5命令。例如,你可以输入"hello world!\\n",这里的"\\n"即为换行符。同样,编辑器如vim中也可以这样输入,保存为t.py后,通过chmod 755 t.py赋予执行...

pyt什么!!!
进一步来说,以多态为基础,我们可以在代码中创建不同类别的实例,如Animal、People、Dog和Pig,它们都继承自Animal类。即使调用的是同一个方法,如talk(),但由于实例的不同,其执行的具体行为也会根据类的特性而变化。比如,调用People类的实例和Dog类的实例的talk(),结果将大相径庭,这就是多态性...

解释Pyt \/\/ 的区别
首先,\/运算符,通常称为普通除法或真除法,它执行的是精确的数学除法。当你使用\/时,无论被除数和除数是什么类型的数(整数或浮点数),结果都会是一个浮点数。例如,5 \/ 2 的结果是 2.5,而不是整数 2,这是因为除法运算会保留小数部分。这种行为使得 \/运算符在需要精确分数结果时非常有用。然...

编程零基础应当如何开始学习 Python ?
2、在学习完基础语法的时候,你也对python有了一定程度的了解了,也知道Python有很多的学习方向,比如说数据采集方向(爬虫),或者Web开发方向,也可能是最近特别火热的人工智能方向。每个方向所需要的技术都是不尽相同的,所以在我们学习完成Python的基础语法之后,一定要慎重选择自己之后的进阶方向。3、在...

迈克尔·杰克逊的唱功实际如何?
这个也不需要用数据去说明你只要相信,他不仅是舞蹈的天才,唱功更是无人能及!天籁之音都不足以形容,时而唯美,时而高亢,千变万化。其中蕴含的感情,难以形容,再配合他的舞蹈,他在舞台之上,就是绝对的王者!最后就问一句:模仿他舞蹈的人数不胜数,但你见过有多少人模仿他的嗓音?

为什么迈克尔杰克逊唱歌那么大声,却不会练成沙哑。他老是在那嘶吼,却...
3.欢快,雀跃,活力,愉悦。ABC,The Love You Save,Shoo Be Doo Be Doo Dah Day,Ease On Down The Road,PYT (Pretty Young Thing),If You Don't Love Me 4.各种口技,举几个例子:(I Like) The Way You Love Me开头,Hollywood Tonight,Don‘t Be Messin’ Around,Tabloid Junkie 5...

昔阳县15191268682: 如何运行Python程序的方法 -
势士复方: 安装完python之后,我们可以做两件事情,1.将安装目录中的Doc目录下的python331.chm使用手册复制到桌面上,方便学习和查阅2.将Python安装路径我的是C:\Python33\加入到系统变量中按win+R打开启动窗口输入python回车 说明配置成功了.就可以正式开始python的编程之旅了,或者点开始按钮找到python菜单 点击Python(command line)命令行工具.防止双击py文件一闪而过的问题程序末尾加一行input()低版本raw.input()

昔阳县15191268682: 如何运行Python程序的方法 -
势士复方: 1. 使用Python自带的IDLE 在开始-->程序-->Python2.5(视你安装的版本而不同)中找到IDLE(Python GUI),点击后弹出如下窗体:在>>>提示符后输入代码,回车,就可以执行此代码...

昔阳县15191268682: 怎么在命令提示符中运行python程序 -
势士复方: 在命令提示符中运行python程序的方法是:1、右键点击【我的电脑】,依次点击【属性】、【高级系统设置】、【环境变量】;2、将python的安装路径添加到PATH变量中;3、打开命令提示符,执行【python 文件路径】命令即可.具体方法: (推荐教程:Python入门教程) 一、配置环境变量 1、右键点击我的电脑,依次点击属性、高级系统设置、高级、环境变量; 2、在系统变量中找到Path,双击进行添加,选择新建,输入python的安装路径,例如我的安装路径是C:Program FilesAnaconda3python 二、运行python程序 1、打开命令提示符2、执行命令“python python文件路径”即可

昔阳县15191268682: 怎么在.py程序中进入python的交互模式 -
势士复方: IPython 进入方法:from IPython import start_ipython start_ipython() bpython 进入方法:import bpython bpython.embed() 需要另外安装第三方扩展.而且自己写一个简单的也费不了几行:import traceback, sys def magic():while True:cmd = sys....

昔阳县15191268682: 如何直接在pythonshell中运行程序 -
势士复方: 在windows下的cmd窗口中执行Python程序,我一般是这样做: 1. 执行一个reg文件,内容为: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT/Directory/shell/cmd/command] @="cmd.exe /k /"cd %L/"" 它的作用是在你的资...

昔阳县15191268682: python如何进行编程 -
势士复方: 直接在上面写代码了,PYTHON是解释性的编程语言直接写直接出结果,当然你也可以写成PY脚本然后执行

昔阳县15191268682: 如何用python编程中的for进行浮点数的计算.例如1+1/2+1/3+1/4 -
势士复方: 1 2 3n =0 a =int(input('最大被除数:')) print(sum([n +1/i fori inrange(1, a +1)]))

昔阳县15191268682: 我写了一个函数,如何在python中调用 -
势士复方: Python的特色简单 Python是一种代表简单主义思想的语言.阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一.它使你能够专注于解决问题而不是去搞明白语言...

昔阳县15191268682: 如何在Python中使用方法链 -
势士复方: 方法链(method chaining)是面向对象的编程语言中的一种常见语法,可以让开发者在只引用对象一次的情况下,对同一个对象进行多次方法调用.举个例子:假设我们有一个Foo类,其中包含有两个方法—— bar 和 baz .我们创建一个Foo类...

昔阳县15191268682: 如何在网页中运行简单的python代码 -
势士复方: 如下的方法请参考: 1 、创建一个django项目使用django-admin.py startproject MyDjangoSite 参考这里 2、建立视图from django.http import HttpResponsedef hello(request): return HttpResponse("我的第一个简单的python django项目.") ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网