class4-操作列表
经常需要遍历整个列表中的所有元素,对每个元素执行相同的操作。例:在游戏中,可能需要将每个界面元素平移相同的距离;对于包含数字的列表,可能需要对每个元素执行相同的统计运算;在网站中,可能需要显示文章中的每个标题。需要对列表中的每个元素都执行相同的操作时,可使用python中的for循环。
假设我们有一个魔术师名单,需要将其中的的每个魔术师的名字都打印出来。为此,我们可以分别获取名单中的每个名字,但是这种做法会导致多个问题。例:如果名单很长,将包含大量重复的代码。另外,每当名单的长度发生变化时,都必须修改代码。为此,通过使用for循环,可让python处理这些问题。
magicians.pymagicians=['alice','david','carolina'] for magician in magicians: #从列表中红magicians中取出一个名字,并将其存储在变量magician中。 print(magician)
输出:
alice
david
carolina
先定义一个列表。然后定义一个for magician循环:这行代码rang pytho从列表中取出一个名字,并将其存储在变量magician中。python 输出前面存储变量magician中的名字。即对于列表中的每个名字,python都将重复执行命令:对于列表magicians中的每位魔术师,都将其名字输出。
4.1.1深入研究循环
对于列表的每个元素,都将执行制定的步骤,而不管包含多少个元素。另外,编写for循环时,对于用于存储列表中的每个值的零时变量,可指定任何名称。例:
for dog in dogs for item in list_of_items:
4.1.2 在for循环中执行更多的操作
在for循环中,可对每个元素执行任何操作。例:
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("Thank you, everyone.That was a great magic show!")
结果输出: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. Thank you, everyone.That was a great magic show!
在代码for magician in magicians后面,每个缩进的代码都是循环的一部分,且将针对列表中的每个值都执行一次。因此,可对列表中的每个值都执行任意次数。
PS:由于两条print语句都缩进了,因为他们讲都针对列表中的每位魔术师执行一次。第二条print语句中的换红字符"\n"在每次迭代结束后都插入一个空行。
4.1.3 在for 循环结束后执行一些操作
在for循环后面,没有缩进的代码都只执行一次,不会重复执行。使用for循环处理数据是一种对数据执行整体操作的方式。
4.2 避免缩进错误
python根据缩进来判断代码行与钱一个代码的行的关系,在前面的示例中,向各位魔术师显示消息的代码行是for循环的一部分,因为他们缩进了。python通过使用缩进让代码更易读;简单说,他要求你使用缩进让代码整洁而结构清晰。以下为常见缩进错误:
1>. 忘记缩进:将紧跟在for语句后面的代码进行缩进,可消除类似缩进错误。
2>.忘记缩进额外的行代码: 有有时候循环运行而不会报错,但结果出乎意料(会出现逻辑错误)。在循环中执行多项任务,缺忘记缩进其中一些代码时会出现。
3>.不必要的缩进:只要在for 循环中对每个元素执行的代码缩进
4>.遗漏冒号:for语句末尾的冒号告诉python,下一行是循环的第一行,如果遗漏冒号,将导致语法错误。
4.3 创建数值列表
4.3.1 使用range()函数
Python函数rang()能轻松的生成一系列数字,例:
for value in range(1,5):print(value)
上述代码回打印数字1~4(不包括5),这是在编程语言中经常看到的差1行行为结果。函数range()让python从你指定的第一个值开始数,并达到第二个值后停止,因此输出不包括第二个值(这里为5).
使用range()时,如果输出 不符合预期,请尝试讲制定的值加1或者减1、
4.3.2 使用range()创建数字列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。如果建range()作为list()的参数,输出将为一个数字列表。例:
numbers= list (range(1,6)) print(numbers)
输出结果 [1, 2, 3, 4, 5]
使用函数range()时,还可制定步长。例:下列代码输出1~10以内的偶数:
even_numbers= list (range(2,20,2)) #起始数为2,终止数值为20,步长为2, print(even_numbers)
输出结果 [2, 4, 6, 8, 10, 12, 14, 16, 18]
在此示例中,函数range()从2开始数,然后不断加2,直到达到或者超过终值11。
使用函数range()几乎能够创建任何需要的数集,例:如何创建一个列表,其中包含前10个整数(1~10)的平方呢?在python中,两个星号(**)表示乘方运算。
squares=[] #创建空列表 for value in range(1,11): #使用函数range()让python遍历1~10的值square= value**2 #计算当前的平方,并将结果存储到square中,,,,为简洁,可省略临时变量直接为 squares.append(value**2)squares.append(square) #将计算得到的平方值附加到列表的square末尾print(squares)
输出结果: [1] [1, 4] [1, 4, 9] [1, 4, 9, 16] [1, 4, 9, 16, 25] [1, 4, 9, 16, 25, 36] [1, 4, 9, 16, 25, 36, 49] [1, 4, 9, 16, 25, 36, 49, 64] [1, 4, 9, 16, 25, 36, 49, 64, 81] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
创建更复杂的列表时,可使用临时变量或者直接带入。使用临时变量会让代码更易读;而在其他情况下,这样做只会让代码无谓的变长。
4.3.3 对数字列表执行简单的统计计算
有几个专门用于处理数字列表的python函数。详见注释
例:max,min,sum
4.3.4 列表解析
前面介绍声场的列表squares的方式包含三四行代码,而列表解析让你值需编写一行代码就能生成这样的列表。列表解析将for循环和创建的新元素的代码合并成一行,并自动附加新元素。面向初学者的书籍并非都会介绍列表解析。下面示例使用列表解析创建平方数。例:
squares=[value**2 for value in range (1,11)] print(squares)
要使用这种语法,首先指定一个描述性列表名,如squares;然后,指定一个左方括号,并定义一个表达式提供值,再加上右括号。在此示例中,for循环为for value in range(1,11),它将值1~10提供给表达式value**2. 注意,这里的for语句末尾没有冒号。代码比较:
重要squares=[] for value in range(1,11): square= value**2 squares.append(square) print(squares)squares=[value**2 for value in range(1,11)] print(squares)
4.4 使用列表的一部分
4.4.1 切片
创建切片,可指定要使用的第一个元素和最后一个元素索引。与函数range()一样,python在到达你指定的第二个索引前面的元素后停止。要输出列表中的前三个元素,需要指定索引0~3,这将输出分别为0,1,和2的元素。例:
players=['charles','maetina','michael','florence','eli'] print(players[0:3])输出['charles', 'maetina', 'michael']
该处代码输出为列表的一个切片,其中包含三名队员。
故可生成列表的任何子集,例:如果你需要提取列表的第2~4个元素,可将起始索引指定为1,并将终止索引指定为4.例:print( players[1:4])
如果你没有指定第一个索引,python将自动从头开始: print(players[:4]). 同理,省略终止索引,切片列表价格终止于末尾。
4.4.2 遍历切片
如果要遍历列表的部分元素,可在for循环中使用切片。例:
players=['charles','maetina','michael','florence','eli'] print("Here are the first three players in my team:") for player in players[:3]:print(player .title())输出:Here are the first three players in my team:CharlesMaetina Michael
切片在很多情况下适用。例,编写游戏时,可以在玩家退出游戏时将其最终得分加到一个列表中。然后,为获取该玩家的三个最高得分,你可以将该列表按降序排列,在创建一个只包含前三个得分的切片。处理数据时,可使用切片来进行批量处理;编写web应用程序时,可使用切片来分页显示信息,并在每页显示数量合适的信息。
4.4.3 复制列表
要复制列表,可以创建一个包含整个列表的切片,方法是同事省略起始索引和终止索引([:])。这让python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。例:
my_foods=['pizza','falafel','carrot cake'] friend_foods=my_foods[:] my_foods.append('cannoli') friend_foods.append('ice cream') print("my favorite fodds are:") print(my_foods)print("\nMy friend's favorite foods are:") print(friend_foods)
输出结果: my favorite fodds are: ['pizza', 'falafel', 'carrot cake', 'cannoli']My friend's favorite foods are: ['pizza', 'falafel', 'carrot cake', 'ice cream']
注:假如我们只是简单的将my_foods赋给friend_foods,就不能得到两个列表。因为简单赋值得语法实际上是糖python将新变量friend_foods关联到包含my_foods中的列表,因此这两个变量都指向同一个列表。
4.5元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,元组可以满足这种需求。Python将不嫩修改的值成为不可以变的,二不可变的列表称为元组。
4.5.1 定义元组
元组和列表类似,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。例:
dimensions=(200,50) dimensions[0]=250
我们首先定义了dimensions,为此,使用了圆括号而不是方括号。当对第一个元素进行修改时,导致python返回类型错误消息,因为试图修改元组的操作是被禁止。
4.5.2 遍历元组中的所有值
像列表一样,也可以使用for循环来遍历元组中的所有值
dimensions=(200,50,30) for dimension in dimensions:print(dimension) 输出 200 50 30
4.5.3 修改元组变量
虽然不能修改元组的元素,但可以可给存储元组的变量赋值。因此,如果要修改前诉矩形的变量尺寸,可重新定义整个元组;
dimensions=(200,50,30) print("original dimensios:") for dimension in dimensions:print(dimension)dimensions=(400,100) print("\nModified dimensions:") for dimension in dimensions:print(dimension)输出结果
original dimensios:
200
50
30
Modified dimensions:
400
100
首先定义一个元组,并将其存储尺寸输出;接下来,将一个新元组存储到变量dimension中,然后输出新尺寸,python不会报任何错误,因为给元组变量赋值是合法的。
相比列表,元组是更简单的数据结构,如需要存储的一组值在程序的整个周期内不变,可使用元组。
转载于:https://www.cnblogs.com/Mack-Yang/p/9280791.html
class4-操作列表相关推荐
- python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换
python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...
- SAP 操作,弹出报错 - 已根据规则拒绝服务器触发的操作,是否要查看上个通讯步骤中触发的操作列表 -
SAP 操作,弹出报错 - 已根据规则拒绝服务器触发的操作,是否要查看上个通讯步骤中触发的操作列表 - 收到用户报错说,他执行MIR7做预制发票的时候,SAP弹出如下框框: 登陆SAP,左键单击如下图 ...
- 以python入门教程新世界-国外旅行也不忘学习Python:Python 操作列表001
Python从小白到入门 ~ Part 4 操作列表 001 Python是一门杰出的语言,值得你去学习,咱们现在就开始吧.--<Python编程从入门到实践>P44-P50 人生--这个 ...
- python代码大全表解释-python操作列表的函数使用代码详解
python的列表很重要,学习到后面你会发现使用的地方真的太多了.最近在写一些小项目时经常用到列表,有时其中的方法还会忘哎! 所以为了复习写下了这篇博客,大家也可以来学习一下,应该比较全面和详细了 列 ...
- 萌新向Python数据分析及数据挖掘 第一章 Python基础 第三节 列表简介 第四节 操作列表...
第一章 Python基础 第三节 列表简介 列表是是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中的元素包括在方括号([])中,每个元素之间用逗号分割.列表是可变的数据类型, ...
- python学习详解_深入解析Python小白学习【操作列表】
1.遍历列表 需要对列表中的每个元素都执行相同的操作时,可使用for 循环: magicians = ['alice','david','carolina'] for magician in magi ...
- python学习(操作列表、if语句)
前言:继续学习python,接下来学习操作列表等知识 第四章.操作列表 messages=['a','b','c','d'] for message in messages:print(message ...
- Python3 基础学习笔记 C03【操作列表】
CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...
- python列表转换成数字_python 字母转成数字Python操作列表的常用方法总结
下面列出列表常用的方法操作列表以及小例子: 1. Append 在列表末尾添加元素,需在列表末尾添加元素,需要注意几个点: A. append中添加的参数是作为一个整体 >>> n ...
- python——列表简介、操作列表
列表是什么? 列表由一系列按照特定顺序排列的元素组成.用方括号[]来表示列表,并用逗号来分隔其中的元素. 访问列表元素 只需要把元素的位置或索引告诉python 在python中,第一个列表元素的索引 ...
最新文章
- 状态和面向对象编程——1.定位步骤
- [原创]用递归写的一个object 转换成JSON的函数
- 免费网络推广浅析对网站首页优化的注意细节把控!
- tgz文件linux打开,tgz文件扩展名,tgz文件怎么打开?
- 《JavaScript权威指南》——JavaScript核心
- 搜狗深入布局人工智能 Q2营收利润创新高
- caffe的运行create_data.sh前对VOC2007图片格式的更改
- 解决IDEA中Maven加载依赖包慢的问题
- Numpy系列(六)常用的数组合并操作
- openfire:openfire单独编译指定插件的方法
- HDU 5025 Saving Tang Monk【bfs搜索】【北大ACM/ICPC竞赛训练】
- 逻辑卷管理和磁盘配额
- A New Romance Is Likely to End up like Your Previous Relationship 为什么每次恋爱总会走向相似的结局?
- SmartQ 智器—公司介绍
- win7/8/10,使用WSD不能打印
- 中国地产商寻找下一个春天 1
- 移动宽带连不上微软服务器,移动宽带有些网站打不开怎么解决?
- c语言中大写a对应的数字,123456789a
- EV3文件打不开,闪退怎么办(完美解决,无弹窗,无警告)
- 怎么用计算机画正弦函数图像,怎样用几何画板作正弦函数图象