操作列表(创建、遍历、统计、解析、切片、复制)
在本章中,你将学习:如何高效地处理列表中的元素;如何使用for循环遍历列表,Python 如何根据缩进来确定程序的结构以及如何避免一些常见的缩进错误;如何创建简单的数字列表, 以及可对数字列表执行的一些操作;如何通过切片来使用列表的一部分和复制列表。你还会学习 元组(它对不应变化的值提供了一定程度的保护)。
4.1 遍历整个列表
list = ['苹果','香蕉','橘子'] for fruit in list:print(fruit)
终端显示:
>>> 苹果 香蕉 橘子
4.2 避免缩进错误
常见缩进错误:
4.2.1 忘记缩进
IndentationError: expected an indented block
4.2.2 忘记缩进额外的代码行
一般情况下属于逻辑错误。从语法上看,这些Python代码是合法的,但由于存在逻辑错误,结果并 不符合预期。如果你预期某项操作将针对每个列表元素都执行一次,但它却只执行了一次,请确定是否需要将一行或多行代码缩进。
4.2.3 不必要的缩进
IndentationError: unexpected indent
4.2.4 循环后不必要的缩进
如果你不小心缩进了应在循环结束后执行的代码,这些代码将针对每个列表元素重复执行。 在有些情况下,这可能导致Python报告语法错误,但在大多数情况下,这只会导致逻辑错误。
4.2.5 遗漏了冒号
这种错误虽然易于消除,但并不那么容易发现。程序员为找出这样的单字符错误,花费的时间多得 令人惊讶。这样的错误之所以难以发现,是因为通常在我们的意料之外。
4.3 创建数值列表
4.3.1 使用函数 range()
取值原则:取左不取右,也就是数学上的左闭右开区间。
for value in range(1,5): print(value) >>> 1 2 3 4
4.3.2 使用 range()创建数字列表
num = list(range(1,4)) print(numbers) >>> [1, 2, 3]
使用函数range()时,还可指定步长。例如,下面的代码打印1~10内的偶数:
num = list(range(2,11,2)) print(even_numbers) >>> [2, 4, 6, 8, 10]
在Python中,两个星号(**)表示乘方运算。下面的代码演示了 如何将前10个整数的平方加入到一个列表中:
list = [] for value in range(1,11):list.append(value**2)print(list)>>> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4.3.3 对数字列表执行简单的统计计算
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] min(list) 0 max(list) 9 sum(digits) 45
4.3.4 列表解析
list = [value for value in range(1,11)]
要使用这种语法,首先指定一个描述性的列表名,如list;然后,指定一个左方括号, 并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2,它计 算平方值。接下来,编写一个for循环,用于给表达式提供值,再加上右方括号。在这个示例中, for循环为for value in range(1,11),它将值1~10提供给表达式value**2。
请注意,这里的for 语句末尾没有冒号。
4.4 使用列表的一部分
4.4.1 切片
4.4.2 遍历切片
list = [value**3 for value in range(1,11)]#打印前两位数 print('The first two items in the list are') for value in list[:2]:print(value) #打印中间三位数 print('Three items from middle list are.') for item in list[4:7]:print(item) #打印后四位数 print('The last four items from middle list are.') for items in list[-4:]:print(items)>>> The first two items in the list are 1 8 216 343 The last four items from middle list are. 1 8 27 64 125 216
4.4.3 复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])。
list = ['苹果','香蕉','橘子'] copy_list = list[:] ① list.append('梨') copy_list.append('柚子') print(list) print(copy_list) >>> ['苹果', '香蕉', '橘子', '梨'] ['苹果', '香蕉', '橘子', '柚子']
之所以在①处没有直接用 copy_list = list,是因为那只是简单地将 my_foods赋给friend_foods,就不能得到两个列表。
list = ['苹果','香蕉','橘子'] copy_list = list list.append('梨') copy_list.append('柚子') print(list) print(copy_list) >>> ['苹果', '香蕉', '橘子', '梨','柚子'] ['苹果', '香蕉', '橘子', '梨','柚子']
这种语法实际上是让Python将新变量copy_list关联到包含在list中的列表,因此这两个变量都指向同一个列表。鉴于此,当我们'梨'添加到list中时,它也将出现在copy_list中;同样,虽然'柚子'好像只被加入到了copy_list中,但它也将出现在这 两个列表中。
4.5 元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网 站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素, 元组可以满足这种需求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
4.5.1 定义元组
tuple = ('刀削面','炸酱面','热干面')
4.5.2 遍历元组中的所有值
tuple = ('刀削面','炸酱面','热干面') for food in tuple:print(food) >>> 刀削面 炸酱面 热干面
4.5.3 修改元组变量
虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺 寸,可重新定义整个元组:
dimensions = (200, 50) print("Original dimensions:") for dimension in dimensions: print(dimension) dimensions = (400, 100) print("\nModified dimensions:") for dimension in dimensions: print(dimension)>>> Original dimensions: 200 50Modified dimensions: 400 100
操作列表(创建、遍历、统计、解析、切片、复制)相关推荐
- Python编程从入门到实践~操作列表~创建数值列表
使用函数range() 使用range() 创建数字列表 对数字列表进行统计 列表解析
- python——列表简介、操作列表
列表是什么? 列表由一系列按照特定顺序排列的元素组成.用方括号[]来表示列表,并用逗号来分隔其中的元素. 访问列表元素 只需要把元素的位置或索引告诉python 在python中,第一个列表元素的索引 ...
- python切片复制
对于列表,直接赋值来实现复制的话,是引用传递,修改新列表,会造成原列表的修改. 可以使用切片复制,这样子就不会对原列表造成影响 list_a = list_b[::]
- 七、Python第七课——有关列表的二三事(切片、切片的遍历和复制)
目录 一.切片 二.遍历切片 三.列表的复制 一.切片 此前,我们学习了如何访问单个列表以及如何处理列表中的所有元素,那么我们如何处理列表中的部分元素呢?这就引出一个概念"切片" ...
- python 切片_零基础学python_11_列表(切片+遍历切片+复制)
1.列表切片 要创建切片,可指定要使用的第一个元素和最后一个元素的索引.与函数 range() 一样, Python 在到达你指定的第二个索引前面的元素后停止.要输出列表中的前三个元素,需要指定索引 ...
- 06-列表(列表的使用、列表中元素的提取--切片、列表的通用操作、列表的方法、列表的遍历-for循环和range()函数)
1. 序列 (sequence) 1.1 基本概念 序列是Python 中最基本的一种数据结构.序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置 (索引) 并且序列中的数据会按照添加 ...
- python学习详解_深入解析Python小白学习【操作列表】
1.遍历列表 需要对列表中的每个元素都执行相同的操作时,可使用for 循环: magicians = ['alice','david','carolina'] for magician in magi ...
- python在冒号处显示语法错误_深入解析Python小白学习【操作列表】
1.遍历列表 需要对列表中的每个元素都执行相同的操作时,可使用for 循环: magicians = ['alice','david','carolina'] for magician in magi ...
- python怎样遍历列表中数字_Python基础-列表操作(2):列表的遍历和数字列表
Python基础-列表(2): 1.对列表进行遍历操作 python中遍历的写法是for xx in list,末尾跟个冒号,第二行开始缩进,进入循环之中.word = ['a','b','c'] f ...
- 【Unity3D读取数据】(二)Json文件操作(创建、读取、解析、修改)
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...
最新文章
- Mybatis原理分析一 从JDBC到Mybaits
- 高压放电与防静电塑料包装
- linux下如何判断oracle数据库tns是否设置正常
- android实现过程,Android:一个完整app开发流程
- 正则表达式与神经网络的深度融合
- 【Tensorflow】小白入门实战基础篇(上)
- Nodejs中puppeteer通过Event抓取HAR数据
- lisp xy轴不等比缩放_解决高缩放等级下的抖动问题
- xbox360fsd更新游戏封面_Steam推出了新版游戏库,界面更为简洁
- 大数据踩坑之旅: 从数据可视化到商业智能
- 在SAP自建 全国各大城市数据表。
- 计算机一级在线模拟试题,全国计算机等级考试一级模拟试题及答案解析
- 用jq实现轮播图片的效果
- /home/www/easyadmin/vendor/topthink/think-helper/src/helper.php 报错处理
- 那些关于程序员的段子
- video视频关键帧截取
- 成都web前端开发工程师
- c语言扫雷游戏计时功能_做游戏,学编程(C语言) 20 扫雷
- Mysql社区版安装教程
- 贝索斯宣布“退位”,去追寻“诗和远方”