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

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

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

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

需要对列表中的每个元素都执行相同的操作时,可使用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.

>>>

遍历列表python_python列表的遍历与循环相关推荐

  1. python 如何在一个for循环中遍历两个列表

    是我在看<笨方法学python>过程中发现有一行代码看不懂--" for sentence in snippet, phrase:",所以研究了半天,感觉挺有收获的.所 ...

  2. python 元组遍历_Python中的for循环:元组、列表、字典的遍历和相互转化

    Python for循环可以遍历任何序列的项目,如列表.字符串.元组.字典.集合等序列类型. 语法: for循环的语法格式如下: for iterating_var in sequence:state ...

  3. python 遍历列表中的每个元素 for循环 while循环 迭代器

    ''' 1)while循环遍历,得到列表中每一个元素 ''' list1=[1,2,5,6,9] i=0 #i是下标 while i<len(list1):print(list1[i])i+=1 ...

  4. python中for语句涉及的序列可以是字符串吗_用for循环,可以遍历字符串、列表、元组、字典、数字序列、文件(TXT、excel)。...

    [单选题]以上代码输出的结果是( ) if None: print("Hello") [单选题]在循环语句中,_______语句的作用是提前进入下一次循环. [单选题]在循环语句中 ...

  5. python如何创建函数对列表里的元素进行分类_zip()函数如何在python中遍历多个列表?...

    在对列表的元素进行找寻时,会频繁的说到遍历的理念.对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环.本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历.下面我们就python ...

  6. python怎样遍历列表中数字_关于Python列表的遍历和数字列表

    关于Python列表的遍历和数字列表 发布时间:2020-06-24 14:34:48 来源:亿速云 阅读:94 作者:清晨 这篇文章主要介绍关于Python列表的遍历和数字列表,文中示例代码介绍的非 ...

  7. python列表生成多个号码_python遍历多个列表生成列表或字典

    原博文 2017-03-10 18:30 − key=['a','b','c','d'] value=[1,2,3,4] mydict=dict(zip(key,value)) print mydic ...

  8. python数组遍历输出所有组合_python遍历列表和数组实例讲解

    python遍历实例总结 python同时遍历数组的索引和值的实例 你想在迭代一个序列的同时跟踪正在被处理的元素索引. 获取索引 内置的 enumerate() 函数可以很好的解决这个问题: > ...

  9. 序列、列表、列表的方法以及遍历序列

    1.序列 1.1.概念 序列是Python中最基本的一种数据结构. 序列的作用是用来保存一组有序的数据. 序列通过标记这些数据的位置来保持数据的有序性,位置标记即为索引或者下标 在一个序列中,索引是唯 ...

最新文章

  1. 计算机网络知到马惜平答案,计算机网络实习用Dreamweaver搭建个人网站
  2. Binary Search O(log n) algorithm to find duplicate in sequential list?
  3. navicat远程连接mysql10060
  4. 电脑的发展史_新时代新征程,新华电脑教育母公司中国东方教育成功港股上市!...
  5. minio扩展现有的分布式集群:扩大集群规模,增加磁盘数量
  6. 网络虚拟化技术(一): linux网络虚拟化,网络虚拟化技术(一): Linux网络虚拟化...
  7. 洛谷——P1090 合并果子
  8. zabbix 从入门到精通
  9. eclipse新建tomcat server但是总是报404的解决方法
  10. C Tricks(二)—— 按块访问二维数组
  11. HDU 1503 Advanced Fruits
  12. 关于 LimitedConcurrencyLevelTaskScheduler 的疑惑
  13. 计算机组成原理讲义 微盘,计算机组成原理课件.pdf
  14. pandas 按列 tolist
  15. Python个性化定制二维码之 qrcode
  16. 蓝牙耳机连接成功,但是每次关闭电脑后,重启电脑,连接耳机,没有声音——stereo模式没有声音
  17. 一个汉字等于多少个varchar2
  18. 选来选去,最终决定把家安在这里。现在看来还没有什么问题。
  19. erp系统软件到底是干嘛用的?
  20. VMware Workstation 14 官方免费正式版

热门文章

  1. 自动驾驶领域大佬在CVPR2020中 关于3D Reconstruction Learning的报告
  2. 985、211毕业,就了不起吗?
  3. springboot部署war包为什么tomcat会启动两次
  4. 数据统计之日下单用户量统计
  5. 用户变量和系统变量的区别
  6. 个人理解卷积 池化 的用处
  7. 如何让自己在云服务器上部署的项目一直运行
  8. IP数据报-格式-分片
  9. 什么是蠕虫,木马以及二者跟病毒是什么关系!
  10. OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64);存根区域(stub)的特点是(65)。【答案】C B