首页 > 后端开发 > 正文

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

2024-02-12 03:53:46 | 我爱编程网

最近经常有小伙伴私信询问举例讲解如何在Python编程中进行迭代和遍历相关的问题,今天,我爱编程网小编整理了以下内容,希望可以对大家有所帮助。

本文目录一览:

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

举例讲解如何在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

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

迭代是什么意思解释

迭代意思解释:

重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程的每一次结果,都是由对前一次所得结果施行相同的运算步骤得到的。例如利用迭代法*求某一数学问题的解。

对计算机特定程序中需要反复执行的子程序*(一组指令),即执行程序中的循环,直到满足某条件为止,亦称为迭代。

在数学中,迭代函数是在分形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。

代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。

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

Python中的“迭代”详解

数学上面的定义:迭代公式就是指用现在的值,代到一个公式里面,算出下一个值,再用下一个值代入公式,如此往复地代。

迭代器的用法在Python中普遍而且统一。在后台,for语句在容器对象中调用iter()。该函数返回一个定义了__next__()方法的迭代器对象,它在容器中逐一访问元素。

运行结果:而生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出StopIteration错误表示无法继续返回下一个值了。

以上就是我爱编程网小编整理的内容,想要了解更多相关资讯内容敬请关注我爱编程网。
与“举例讲解如何在Python编程中进行迭代和遍历”相关推荐
如何用手机进行编程?
如何用手机进行编程?

如何用手机进行编程?这里介绍3种可以在手机上编程的app,分别是c语言编译器(c语言)、AIDE集成开发环境(java)、QPython3(python),都不需要root,可以直接编写程序并运行,下面我简单介绍一下这3个app的安装和简单使用,主要内容如下:1.下载安装,这里以我的vivo手机为例,直接打开“应用商店”,搜索“C语言编译器”,如下,直接点击下载安装:测试

2023-12-27 11:08:44
Python编程基础讲解:Python编程语言是什么?
Python编程基础讲解:Python编程语言是什么?

Python编程基础讲解:Python编程语言是什么?Python是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大,它也是互联网最热门的编程语言之一。不管是传统的Web开发、PC软件开发、Linux运维,还是大数据分析、机器学习、人工智能,Python都能胜任。对于准备自学或者想要提升Python的小伙伴来说,可能找到一套合适的课程学习往往能够事半功倍!为大家提供到了四套潮享教育

2024-02-01 06:57:43
如何用pdb进行python调试?
如何用pdb进行python调试?

如何用pdb进行python调试?本文章讲述了如何用pdb进行python调试讲解.当手边没有IDE,面对着python调试犯愁时,你就可以参考下本文;(pdb命令调试)和(pdb)help用pdb进行python调试,用法基本和gdb差不多,先看一个简单的例子:epdb1.py.#epdb1.py--experimentwiththePythondebugger,pdba=\"aaa\"

2024-01-10 14:08:44
如何用python进行数据分析
如何用python进行数据分析

简述python程序的运行过程Python程序的运行过程可以分为以下几个步骤:1.源代码的编写:首先,程序员会使用文本编辑器(如SublimeText、Notepad++、VisualStudioCode等)编写Python代码,这些代码被保存为.py文件。2.源代码的编译:Python解释器会将源代码转换为字节码(bytecode),这是一种低级语言,可以被P

2023-12-20 11:16:18
如何利用Python进行垃圾分类
如何利用Python进行垃圾分类

如何利用Python进行垃圾分类1引言七月了,大家最近一定被一项新的政策给折磨的焦头烂额,那就是垃圾分类。《上海市生活垃圾管理条例》已经正式实施了,相信还是有很多的小伙伴和我一样,还没有完全搞清楚哪些应该扔在哪个类别里。感觉每天都在学习一遍垃圾分类,真令人头大。听说一杯没有喝完的珍珠奶茶应该这么扔1、首先,没喝完的奶茶水要倒在水池里2、珍珠,水果肉等残渣放

2024-01-07 22:50:08
如何用python编程解释“鸡兔同笼”问题?
如何用python编程解释“鸡兔同笼”问题?

用Python从键盘输入一个有中文和英文的字符串,编程分别输出中文和英文,并统?fromstringimportascii_lettersx=input("输入字符串:")hz=[]zm=[]forxxinx:ifxxin([chr(j)forjinrange(19968,40867)]):hz.append(xx)print(f"汉字:{xx}")eli

2023-12-28 20:54:29
在RoboDK中,程序指令和Python仿真编程有什么区别
在RoboDK中,程序指令和Python仿真编程有什么区别

在RoboDK中,程序指令和Python仿真编程有什么区别实时仿真通常的做法是需要将模型编译生成源代码,然后下载到实时仿真机中生成可执行的程序,然后周期的运行这么一个过程。python中定义变量的时候,不需要在变量前声明变量类型,而C语言和JAVA需要,主要是因为python是一个动态语言,变量的类型取决于值的类型,也就是说值了类型决定了变量的类型如下图所示。因此定义变量时必须给变量

2024-02-03 11:30:35
如何在ubuntu终端运行python脚本
如何在ubuntu终端运行python脚本

ubuntu下用python写了个生成动态壁纸的脚本,如果通过代码实现使用这个xml,而不是通过桌面->背景->添加sudomkdir/usr/share/backgrounds/mybackground-imgssudocd/usr/share/backgrounds/mybackground-imgssudocp/home/你的背景图片所在目录/*.sudo./backgro

2024-01-06 04:45:15