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中,第一个列表元素的索引 ...
最新文章
- 遗传算法中的选择操作
- 项目中用到的Linux命令
- opengl纹理示例
- ASP.NET MVC 学习之路-4
- Java基础篇:对象拷贝:clone方法 以及 序列化
- 【Java基础】使用带有标签的break,跳出多层循环
- onpagefinished等了很久才执行_学了那么多精准引流推广的方法 你知道什么才是最重要的吗...
- java 反射执行语句_JAVA反射机制
- git切换用户密码_Git 最基本的命令
- 数据结构-栈5-栈的应用-后缀转中缀
- shell脚本:实现文件覆盖写入、文件内容追加写入
- android recyclerview多布局_图文讲解RecyclerView的复用机制 ||Recyclerview进阶
- python脚本编程手册安卓版_python编程入门app下载
- java转integer_Java的Integer与int互转
- 拉钩网前端项目实战06
- n++和++n的区别
- 魔方教程--很多教程都不对,整理并实践了一下
- android平板电脑怎么才能连接电脑,平板电脑怎么连接电脑 最有效方法【图解】...
- CSS中-moz-、-ms-、-webkit-、-o-的意义
- 2021最新大厂Java面试真题解析
热门文章
- 【渝粤题库】陕西师范大学190002 思想道德修养与法律基础 作业(高起本、专升本、高起专)
- mysql完全限定表列名_mysql必知必会--联 结 表
- js页面滚动,设置锚点,控制页面滚动到某个节点位置
- python 怎么判断是文件还是文件夹_python判断是文件夹还是文件的方法
- 安全狗:企业安全运维也可以如此便捷而强大
- 跳一跳小游戏辅助(手动版本)py代码实现
- PL/SQL之存储过程
- Excel 数据透视表小技巧之 04 如何将包含国家和年份的二维展开一维三列国家、年份、值(教程含数据)
- 全球及中国2D碳材料石墨烯行业发展动态与投资前景预测报告2022~2027年
- redis 挖矿木马清除