python列表的遍历与循环

在游戏中,可能需要将每个界面元素平移相同的距离;

对于包含数字的列表,可能需要对每个元素执行相同的统计运算;

在网站中,可能需要显示文章列表中的每个标题。

经常需要遍历列表的所有元素,对每个元素执行相同的操作。

需要对列表中的每个元素都执行相同的操作时,可使用Python中的for循环。

遍历整个列表

假设有一个魔术师名单,需要将其中每个魔术师的名字都打印出来。为此,可以分别获取名单中的每个名字,但这种做法会导致多个问题。

例如,如果名单很长,将包含大量重复的代码。

另外,每当名单的长度发生变化时,都必须修改代码。

通过使用for循环,可让Python去处理这些问题。

下面使用for循环来打印魔术师名单中的所有名字:

magicians = [‘alice‘, ‘david‘, ‘carolina‘]

for magician in magicians:

print(magician)

首先定义一个列表,定义一个for循环,从列表magicians中取出一个名字,并将其存储在变量magician中。最后,打印存储到变量magician中的名字。

>>>

alice

david

carolina

>>>

for magician in magicians:

这行代码让Python获取列表magicians中的第一个值(‘alice‘ ),并将其存储到变量magician中。

接下来,Python读取下一行代码:

print(magician)

它让Python打印magician的值——依然是‘alice‘ 。鉴于该列表还包含其他值,Python返回到循环的第一行:

for magician in magicians:

Python获取列表中的下一个名字——‘david‘ ,并将其存储到变量magician 中,再执行下面这行代码:

print(magician)

Python再次打印变量magician 的值——当前为‘david‘ 。接下来,Python再次执行整个循环,对列表中的最后一个值——‘carolina‘ 进行处理。

至此,列表中没有其他的值了,因此Python接着执行程序的下一行代码。

在这个示例中,for循环后面没有其他的代码,因此程序就此结束。

使用循环时,对列表中的每个元素,都将执行循环指定的步骤,而不管列表包含多少个元素。

如果列表包含一百万个元素,Python就重复执行指定的步骤一百万次,且通常速度非常快。

另外,编写for 循环时,对于用于存储列表中每个值的临时变量,可指定任何名称。然而,选择描述单个列表元素的有意义的名称大有帮助。例如,对于小猫列表、小狗列表和一般性列表,像下面这样编写for 循环的第一行代码是不错的选择:

for cat in cats:

for dog in dogs:

for item in list_of_items:

这些命名约定有助于明白for循环中将对每个元素执行的操作。

使用单数和复数式名称,可帮助判断代码段处理的是单个列表元素还是整个列表。

在for循环中,可对每个元素执行任何操作。下面来扩展前面的示例,对于每位魔术师,都打印一条消息,指出他的表演太精彩了。

magicians = [‘alice‘, ‘david‘, ‘carolina‘]

for magician in magicians:

print(magician.title() + ", that was a great trick!")

相比于前一个示例,唯一的不同是对于每位魔术师,都打印了一条以其名字为抬头的消息。

这个循环第一次迭代时,变量magician的值为‘alice‘ ,因此Python打印的第一条消息的抬头为‘Alice‘ 。

第二次迭代时,消息的抬头为‘David‘ ,而第三次迭代时,抬头为‘Carolina‘。

下面的输出表明,对于列表中的每位魔术师,都打印了一条个性化消息:

>>>

Alice, that was a great trick!

David, that was a great trick!

Carolina, that was a great trick!

>>>

在for循环中,想包含多少行代码都可以。在代码行for magician in magicians后面,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次。

因此,可对列表中的每个值执行任意次数的操作。

下面再添加一行代码,告诉每位魔术师,我们期待他的下一次表演:

magicians = [‘alice‘, ‘david‘, ‘carolina‘]

for magician in magicians:

print(magician.title() + ", that was a great trick!")

print("I can‘t wait to see your next trick, " + magician.title() + ".\n")

由于两条print语句都缩进了,因此它们都将针对列表中的每位魔术师执行一次。

第二条print语句中的换行符"\n",在每次迭代结束后都插入一个空行,从而整洁地将针对各位魔术师的消息编组:

>>>

Alice, that was a great trick!

I can‘t wait to see your next trick, Alice.

David, that was a great trick!

I can‘t wait to see your next trick, David.

Carolina, that was a great trick!

I can‘t wait to see your next trick, Carolina.

>>>

原文地址:https://www.cnblogs.com/shwj/p/12639888.html

时间: 2025-01-02 16:59:32

python列表的遍历与循环的相关文章

python 列表推导式----轻量级循环

列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法.它的工作方式类似于for循环,也很简单: In [39]: [x*x for x in range(10)]Out[39]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 如果只想打印出那些能被3整除的平方数,只需要通过添加一个if部分在推导式中就可以完成: In [41]: [x*x for x in xrange(10) if x % 3 == 0

Python列表边遍历边修改问题解决方案:alist[:]

最近在看python,遇到个简单的问题:删除列表中指定的重复元素,发现一些实用并且有趣的东西. 1.错误示范 alist = [1,1,2,2,3,3,2,2,1,1] for i in alist: if i ==1: alist.remove(1) print(alist) 运行结果:[2, 2, 3, 3, 2, 2, 1, 1] 错误原因:删除列表元素,导致列表内容改变,部分元素位置前移:当继续进行for循环时,索引继续加一,导致跳过一个元素. 本例中,第二个"1"和第四个&q

python中列表删除和多重循环退出

在学习python的时候,会有一些梗非常不适应,在此列举列表删除和多重循环退出的例子: 列表删除里面的坑 比如我们有一个列表里面有很多相同的值,假如:nums=[1,6,6,3,6,2,10,2,100],我想去掉6,可以这样写: nums=[1,6,6,3,6,2,10,2,100] for n in nums: if n==6: nums.remove(n) nums.sort() print(nums)#输出结果:[1, 2, 2, 3, 6, 10, 100] 排序显示后列表中还有一个6

浅析python列表解析和迭代

要看懂列表解析,首先要知道几个定义,第一个是python的解释器,虽然大多数时候,我们都将python当作一门编程语言来看待,实际上,python也是一个名为解释器的软件包,解释器是一种能让其他程序运行起来的程序,如果你写了一段代码,让python解释器读取程序,并且按着命令执行,得出结果,实际上,解释器是代码雨计算机硬件之间的软件逻辑层,计算机上安装的python程序就是一个解释器和一些基本的库,例如os,sys模块,是最基本的包.值得一提的是在python的解释器里面运行.第二个是迭代器(i

2.关于python的if判断,循环总结。

一.if判断. if判断的主要作用就是根据指定的条件表达式,做出不同的动作,操作不同的代码. if判断大致可以分为三种,分别是单分支,双分支,多分支. 1.单分支if语句. python中的单分支if语句格式如下: if  表达式: 执行的代码 下面是例子: num = 10 if num == 10:  (当num变量中的值等于10,条件为真,执行下面的print "ok"代码.) print 'ok' 当num变量不等于10的时候,什么都不会执行. num = 1300000 if

python while循环与for循环

今天刚看了一下python的while和for循环,所以打算记录一下: while语句是python中的循环条件语句,while 判断条件 : pass break 例如: i = 1 sum = 1 while i <= 9: j = 1 while j <= i: sum = j * i print "%d * %d = %d " % (i, j, sum), j += 1 i += 1 print "\n" while语句中时可以嵌套if语句的,可

Python学习_05_条件、循环

条件 和其他语言类似,python中使用if...elif...else来形成分支,支持三目操作符 ?:,python中没有switch,但是缩进的特性让if...elif...else的结构同样便于阅读 循环控制 python中除了break,continue这两个一般的循环控制语句之外,还有一个pass,执行空操作.由于python的语法特性,添加pass可以留空某一个域,避免在调试过程中反复报错. while循环 python中的while循环比其他语言增加了一个特性:支持else.在其他

Python 3基础教程6-for循环语句

本文介绍另外一种循环语句,for循环,直接看例子. 用for实现打印1到9的数字. 方法一:写入一个列表,然后遍历列表 # 这里介绍 for循环# 打印1到9 exampleList = [1,2,3,4,5,6,7,8,9] for eachNumber in exampleList: print (eachNumber)方法二:用Python自带函数range(1,9)# 打印1到9 for i in range(1,10): print (i)注意上面是range(1,10),右边是不包括

python的input和while循环

python的input和while使用 一.Python input()函数:获取用户输入的字符串 Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型. Python2.x 中 input() 相等于 eval(raw_input(prompt)),用来获取控制台的输入. raw_input() 将所有输入作为字符串看待,返回字符串类型.而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float ). 注意: