Python for循环实战:高效重复操作指南

创始人
2024-12-22 02:02:47
0 次浏览
0 评论

python怎么用for重复(循环)

Python是一种脚本语言。
它取自多种语言的内容,具有独特的功能。
其中,Python中有两种类型的循环:for循环和while循环。
在这篇文章中,我将详细介绍如何使用for循环来实现某些重复操作。
可以用来遍历一个循环对象(遍历:通俗点讲就是按顺序访问第一个元素到最后一个元素)。
循环的基本结构如下:特别考虑这种情况:设计一个函数,在桌面上创建10个帖子,并用数字1-10标记它们。
1deftext_create():2path='/users/duangdan/desktop/'3fortext_nameinrange(1,11):4#Fortext_nameinrange(1,11):4#Fortext_nameinrange(1,11):4#Fortext_nameinrange(1-10)范围函数5open(path+str)+'.txt','w')astext:6#...as的使用在text中有详细介绍7text.write(str(textname))8text.close()9print('Done')。
1011text_create()现在让我们来理解每一行代码。
第1行:定义text_create函数:第2行:将变量路径赋值为桌面路径:第3行:将变量文本名称的各个数字加载到变量_name中,第5行:打开桌面上的txt文件,并执行写入操作对于每个文本;。
“If...as”参考案例在Python中,“if...as”语法用于替代传统的“try...finally”。
例如:打开桌面上的测试文件,尝试读取文件内容,最后关闭文件。
1file=open('/Users/duwangdan/Desktop/test.txt')2try:3data=file.read()4finally:5file.close()虽然此代码工作正常,但相对使用“from...”。
as”,代码会更短。
1open('/Users/duwangdan/Desktop/test.txt')asfile:2data=file.read()除了上面的单层循环之外,还有一种常见的循环,即是一个嵌套循环,例如,乘法使用嵌套循环来实现公式。
1foriinrange(1,10):2forjinrange(1,10):3print('{}X{}={}'.format(i,j,i*j))外层循环,1-9为中的序号变量i存储,每次变量取值时,内部循环将数字1-9存储在变量j中,从Python2.6开始,一个新的格式化函数用于格式化字符串。
添加,可以在{}.format中实现。
上面的例子中,就是将i、j、i*j的值放在前面的{}中,格式化成一个。

Python实现循环的最快方式(for、while等速度对比)

众所周知,Python并不是一种高效的语言。
此外,循环在任何语言中都是非常耗时的操作。
如果每一个简单的一步操作需要1个单位的时间,如果重复这个操作数万次,最终消耗的时间也会增加数万倍。

While和for是Python中常用于实现循环的两个关键字。
例如以下测试代码:

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354

这是一个简单的求和运算,计算所有的总和从1到n的自然数。
可以看到for循环比while快了1.5秒。

两者的主要区别在于机制不同。

在每个循环中,while实际上比for多执行两个步骤:检查限制并递增变量i。
即每次执行循环时,while都会进行一次边界检查(whilei这两个步骤都是纯粹干净的Python代码。

for函数不需要执行边界检查和增量操作,也不需要添加清晰的Python代码(纯Python代码比基本C代码效率低)。
当循环次数足够多时,就会出现显着的效率差距。

您可以再添加两个函数,为for循环添加不必要的边界检查和自动递增计算:

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354#=>forloopwithincrement4.602369500091299#=>forloopwithtest4.18337869993411

可见添加的边界检查和自动递增操作确实对for循环执行的效率产生了很大的影响。

前面说过,Python的基本解释器和内置函数都是用C语言实现的,C语言的执行效率比Python高很多。

对于上述求算术序列之和的操作,借助Python内置的sum函数,可以获得远高于for或while循环的执行效率。

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354#=>sumrange0.8658821999561042

可以看到,使用内置函数后,替换loop循环的exe函数的sum有循环执行的总和。
增加了一倍。

内置sum函数的聚合操作在实际上是一个循环,只不过是用C实现的,而for循环中的求和运算是用纯Python代码s+=i实现的。
C>Python。

再次扩展你的想法。
小时候,我们都听过高斯的童年故事,他巧妙地计算了从1到100的和。
1...100的和等于(1+100)*50。
这种计算方法也可以应用于上面的加法运算。

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354#=>sumrange0.8658821999561042#=>mathsum2.400018274784088e-06

mathsum最终执行时间约为2.4e-6,缩短了数百万倍。
这里的想法是,由于循环效率低,一段代码必须执行数亿次。

只是不要循环并使用数学公式将数亿次循环操作变成只需一步。
效率自然得到了前所未有的提高。

最终结论(有点Riddler):

实现循环的最快方法—————不是循环

对于Python,更多然后尽可能使用内置函数,以尽量减少循环中的纯Python代码。

当然,内置函数在某些情况下并不是最快的。
例如,在创建列表时,按字面输入会更快。

whiletrue在python中怎么用

您可以使用whileTrue创建无限循环。
在Python中,使用whileTrue创建无限循环。
循环体中的代码将被重复执行,直到遇到break语句或程序终止条件。
这种类型的循环通常用于应该连续运行或需要手动中断的任务。
文章标签:
Python 循环
热门文章
1
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

2
Python字典操作全解析:添加、修改、... Pythondict字典基本操作(包括添加、修改、删除键...

3
Python错误处理与异常处理:构建稳定... 2.5错误处理与异常在编程领域,错误处理和异常处理是保证程序稳定性和健壮性的关键...

4
Python数据转换攻略:字符串、列表、... Python字典、字符串及列表的相互转换Python中数据转换的艺术:从字典和字...

5
Python列表相加与求和技巧解析 重温python基础:列表相加的方法(两个list[]加法)今天,我们来看看Py...

6
Python运行快捷键大揭秘:高效操作,... python运行按哪个键运行Python时的快捷键包括Ctrl+Shift+F1...

7
Python字符与数字互转攻略:轻松掌握... python 字符与数字如何转换Python是一种功能强大且结...

8
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表Python中将字符串转换为列表的方法有多种,...

9
Python字符串转列表:两种常用方法解... python怎么将字符串转换为列表在Python中将字符串转换为列表的方法有很多...

10
Python列表转字符串全攻略:掌握四种... Python列表到字符串–如何在Python中转换列表在Python中,将列表转...