Python for循环全攻略:基本用法与性能优化技巧

创始人
2024-12-26 12:17:19
0 次浏览
0 评论

python教程:for循环基本用法

Python中的循环主要用于终止数组。
下面介绍Python中循环的基本用法。
首先,打开cmd命令行,输入python命令,进入Python运行环境。
部分步骤如下图所示。
接下来,我们创建一个数组并使用for循环来检索该数组的内容。
部分步骤如下图所示。
编写第一个for循环时,请注意使用in和out语法。
部分步骤如下图所示。
此外,您可以通过循环遍历数组来检索数组的内容。
部分步骤如下图所示。
使用索引时,请注意使用透镜方法。
使用透镜法求数组的长度。
例如,如果数组包含5个元素,则lens方法返回5。
接下来,我们可以使用for循环和索引来迭代数组中的每个元素。
部分步骤如下图所示。
在循环中,您可以使用索引访问数组中的每个元素。
例如,可以使用range(len(rr))生成从0到数组长度减1的范围,然后使用索引查找数组中的每个元素。
部分步骤如下图所示。
在上面的方法中,您可以简单地使用for循环来迭代数组并检索每个元素。
希望本教程对您有用。

python中for循环的用法

for循环是指通用的序列迭代器,用于遍历任何已排序的序列对象中的元素。
它可用于字符串、元组、列表和其他内置可迭代对象,以及通过类创建的新对象。
forexpressioninobject:for_suiteelse:else_suite的循环语法格式forexpressioninobject:for_suiteifboolean_expression2:continueifboolean_expression3:breakelse:else_suite的扩展语法格式

为什么python中的for和while有什么区别?

Python的for循环和while循环都是用于实现代码块的重复执行的结构。
For循环通常用于迭代序列(列表、元组、字符串等),而while循环用于在满足特定条件时重复执行代码块。
1、for循环的语法结构:pythonforvariableinequence:#执行的代码块这里的“variable”是一个临时变量,用于存储每次迭代时序列的当前元素。
“序列”可以是列表、元组、字符串或其他可迭代对象。
for循环依次获取序列中的每个元素,将其分配给变量,然后执行代码块。
当序列中的所有元素都被遍历完时,循环结束。
例如,以下示例是使用for循环迭代列表的简单示例:pythonfruits=['apple','banana','cherry']forfruitinfruits:print(fruit)按顺序输出。
while循环语法结构:pythonwhilecondition:#执行的代码块,其中“condition”是布尔表达式。
如果条件为真,则执行代码块。
每次执行代码块时都会重新评估条件如果条件仍然为True,则再次执行代码块。
重复此过程直到条件变为假,此时循环结束。
例如,以下示例是使用while循环计算1到10之和的简单示例:pythonsum=0i=1whilei<=10:sum+=ii+=1print(sum)此代码打印:yaml55此示例使用附加的变量i来控制循环。
最初,i的值为1。
在每次迭代中,将i添加到总和中,并将i加1。
如果i的值超过10,则条件变为false,循环结束。

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

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

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

内置函数sum将循环替换为后,可以看到代码运行效率更高。
它增加了一倍。

内置函数sum的累加操作实际上是一个循环,只不过是用C语言实现的。
另一方面,for循环内的求和运算是由纯Python代码s+=i实现的。
执行>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,速度快了数百万倍。
这里的想法是循环效率低下,因此代码必须运行数亿次。

使用公式将数十亿个循环操作转换为单个步骤,而不是简单地循环。
当然,效率从未如此之高。

最终结论(有点谜语):

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

对于Python,请使用:尽可能使用内置函数,最大限度地减少循环中的纯Python代码。

当然,在某些情况下内置函数并不是最快的。
例如,如果你想创建一个列表,按字面意思写会更快。

文章标签:
Python for循环
热门文章
1
Python中的format()方法:字... formatformat在python中的含义2222.22E+00Format...

2
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

3
Python爱心绘制教程:使用turtl... python的爱心代码教程(python画爱心代码)绘制心形的Python代码我...

4
Python字符串大小写转换方法全解析 python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...

5
Python字典:轻松获取最小值键与计算... python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...

6
Python字符串去重空格:strip(... Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...

7
Python数组元素数量计算技巧分享 Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...

8
简述python中pass的作用 pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...

9
Python def 关键字详解:函数定... def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...

10
python不区分大小写的方法 Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...