深入解析Python小白学习【操作列表】
作者:130411422 发布时间:2023-02-18 03:48:07
1.遍历列表
需要对列表中的每个元素都执行相同的操作时,可使用for 循环:
magicians = ['alice','david','carolina']
for magician in magicians:
print(magician)
>>>alice
>>>david
>>>carolina
循环中,Python将首先读取其中的第一行代码:
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就重复执行指定的步骤一百万次,且通常速度非常快。 使用for 循环处理数据是一种对数据集执行整体操作的不错的方式。
2.避免缩进错误,Python根据缩进来判断代码行与前一个代码行的关系
2.1未缩进:
magicians = ['alice','david','carolina']
for magician in magicians:
print(magician)
IndentationError: expected an indented block
2.2循环后的冒号
for 语句末尾的冒号告诉Python,下一行是循环的第一行。如果你不小心遗漏了冒号,将导致语法错误。
3.创建数值列表
3.1函数range()
for value in range(1,5):
print(value)
>>>1
>>>2
>>>3
>>>4
函数range()让Python从你指定的第一个值开始数,在到达你指定的第二个值后停止,因此输出并不包含第二值。
3.2使用range()创建数字列表
将range() 作为list() 的参数,输出将为一个数字列表。
numbers = list(range(1,6))
print(numbers)
>>>[1, 2, 3, 4, 5]
range()函数还可指定步长:
even_numbers = list(range(1,13,2))
print(even_numbers)
>>>[1, 3, 5, 7, 9, 11]
函数range() 从1开始数,然后不断地加2,直到达到或超过终值。
使用函数range() 几乎能够创建任何需要的数字集。
squares = []
for value in range(1,11):
squares.append(value**2)
print(squares)
>>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4.列表解析
列表解析将for 循环和创建新元素的代码合并成一行,并自动附加新元素:
squares = [value**2 for value in range(1,11)]
print(squares)
>>>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
首先,指定一个描述性的列表名,如squares。然后指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为value**2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为for value in range(1,11) ,它将值1~10提供给表达式value**2 。请注意,这里的for 语句末尾没有冒号。
5.列表切片(处理部分列表元素)
与range()一样,指定要使用的第一个元素和最后一个元素的索引,到达指定的第二个索引值前面的元素后停止。
players = ['charles','martina','michael','florence','eli']
print(players[0:3])
>>>['charles', 'martina', 'michael']
未指定起始索引及终止索引的情况:
players = ['charles','martina','michael','florence','eli']
print(players[:4])
>>>['charles', 'martina', 'michael', 'florence']
players = ['charles','martina','michael','florence','eli']
print(players[1:])
>>>['martina', 'michael', 'florence', 'eli']
players = ['charles','martina','michael','florence','eli']
print(players[-3:])
>>>['michael', 'florence', 'eli']
6.遍历切片
要遍历列表的部分元素,可在for 循环中使用切片。
players = ['charles','martina','michael','florence','eli']
print("Here are the first three players in my team:")
for player in players[0:3]:
print(player.title())
>>>Here are the first three players in my team:
>>>Charles
>>>Martina
>>>Michael
处理数据时,可使用切片来进行批量处理;编写Web应用程序时,可使用切片来分页显示信息。
7.复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。
my_foods = ['pizza','falafel','carrot cake']
friend_foods = my_foods[:]
print(my_foods)
print(friend_foods)
>>>['pizza', 'falafel', 'carrot cake']
>>>['pizza', 'falafel', 'carrot cake']
my_foods = ['pizza','falafel','carrot cake']
# friend_foods和my_foods指向同一个列表
friend_foods = my_foods
my_foods.append('cannoli')
friend_foods.append('ice cream')
print(my_foods)
print(friend_foods)
>>>['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
>>>['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
8.元组
列表是可以修改的,然而,需要创建一系列不可修改的元素,元组可以满足这种需求。不可变的列表被称为元组 。
元组看起来犹如列表,但使用圆括号而不是方括号来标识。
dimensions = (200,50)
print(dimensions[0])
print(dimensions[1])
>>>200
>>>50
元组元素不可更改:
dimensions = (200,50)
dimensions[0] = 230
>>>dimensions[0] = 230
>>>TypeError: 'tuple' object does not support item assignment
8.1 for 循环遍历元组
dimensions = (200,50,100)
for dimension in dimensions:
print(dimension)
>>>200
>>>50
>>>100
8.2修改元组变量
元组元素不可更改,但可给存储元组的变量赋值。
dimensions = (200,50,100)
for dimension in dimensions:
print(dimension)
dimensions = (50,40,30)
for dimension in dimensions:
print(dimension)
>>>200
>>>50
>>>100
>>>50
>>>40
>>>30
相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。
以上所述是小编给大家介绍的Python操作列表详解整合网站的支持!
来源:https://blog.csdn.net/weixin_43297213/article/details/88560127


猜你喜欢
- fit_generator 是 keras 提供的用来进行批次训练的函数,使用方法如下:model.fit_generator(genera
- 前言随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了windows下YOLO的环境搭建流程。一
- var sss=(String.fromCharCode(127)); var xmlhttp =
- 本文实现了用Python和OpenCV配合,调用本地摄像头采集视频,基本上函数的话看opencv的官方文档就Ok了(The OpenCV R
- 1.从官网下载mysql-5.7.21-windowx64.zip mysql下载页面2.解压到合适的位置(E:\mysql) 这名字是我改
- 一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时
- 尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表示全力支持XML,并开发了不少XML工具。Adobe公司的Fram
- 1、说明装饰本质上是一个Python函数,它能使其他函数在没有任何代码变化的情况下增加额外的功能。有了装饰,我们可以抽出大量与函数功能无关的
- 一、Mysql事务概念MySQL 事务主要用于处理操作量大,复杂度高的数据。由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执
- --新增表字段 ALTER procedure [dbo].[sp_Web_TableFiled_Insert] ( @TableName
- 本文实例讲述了Python实现读取并保存文件的类。分享给大家供大家参考,具体如下:这个类写在一个叫class_format.py 的文件里,
- python中字符串数组如何逆序排列?下面给大家介绍几种方法:1、数组倒序:原始元素的倒序排列(1)切片>>> arr =
- 前言使用Python中的自带库math、自带函数pow和自带库cmath来对数字进行开根号运算方法一使用:math.sqrt(数字)impo
- 编译环境:ubuntu17.04 Python3.5所需库:numpy、scipy、matplotlib下面是理想平面的辐射强度计算(课程大
- 在一次ASP程序中不能正常连接MSSQL出现出错信息如下:以下为引用的内容:HTTP/1.1 200 OK S
- 对于软件来说,每一个新版本的推出都应该是一种进步,不可否认,阿里旺旺2008版相较于之前的版本的确是有很多的进步,但进步的同时却也有着比之前
- 需求描述在利用numpy进行数据分析时,常有的一个需求是:根据已知的数组生成新数组。这个问题又可以分为两类:根据筛选条件生成子数组;根据变换
- 背景由于阿里云oss,cdn消耗钱的速度比较快,在不知道的情况下,服务就被停了,影响比较大。所以想做个监控。百度一下阿里云账户余额 api
- Taglib指令介绍Taglib指令,其实就是定义一个标签库以及自定义标签的前缀。比如struts中支持的标签库,html标签库、bean标
- 本文讨论python中将某个复杂对象转换为简单对象或数据类型的常用魔术放啊,这些在编程中是十分有用的。1、__str__方法。在讲解本方法前