python列表总结(2)

本文详细介绍了Python中如何使用for循环遍历列表,创建数值列表的方法,包括使用range()函数和列表解析,以及如何进行简单的统计计算。同时,文章还讲解了如何利用切片操作来获取列表的一部分,复制列表而不影响原列表,以及使用元组的基本概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用for循环遍历列表

for element in list
	#依次将列表中的每个值赋给element并对每个对其进行的操作
	#for之后的缩进都被认为是要对每个元素执行的,不要多或少了缩进
#在for循环后也许需要进行一些总结性操作

创建数值列表

1.使用函数range()
range()能生成一系列数字,例如

for value in range(1,5)
	print(value)

在上例中,range只打印1~4。range从指定的第一个数开始数,到第二个值之后停止,故不会输出第二个值,这一点要注意,这是在编程语言中常见的差一行为的结果。
此外,range()还可以指定步长,例如

for value in range(2,11,2)
	print(value)
#range(v1,v2,v3)

它将打印2,4,6,8,10。range(v1,v2,v3)生成从v1开始的以步长v3增加的不超过v2的一系列数。

2.使用range()和list()函数创建数字列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。若将range()作为list的参数,输出即为一个数字列表

numbers=list(range(1,6))
#numbers=[1,2,3,4,5]

#创建具有其他特征的列表,例如平方列表
squares=[]
for value in range(1,11)
	squares.append(value**2)

简单的统计计算

min() max() sum()函数分别求数字列表的最小最大值和求和

列表解析

列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素

#使用列表解析创建平方列表
squares=[value**2 for value in range(1,11)]

使用列表解析:
首先指定一个描述性的列表名,如squares;
然后在方括号内定义表达式,用于生成要储存到列表中的值,此例中表达式为value**2,即平方;
接下来编写for循环用于给表达式提供值,此例中for循环为for value in range(1,11),for循环中的变量要和表达式中的变量一样,否则会出错。

切片——使用列表的一部分

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range()一样,python在到达第二个索引前的元素后停止。要输出列表中的前三个元素,须指定索引0~3。

players=['charles','martina','michael','florence','eli']
print(players[0:3])  #【输出也是一个列表】。打印前三个运动员
#在知道索引是可以指定生成列表的任何子集
#生成第i个元素到第j个元素的切片的写法:
list=lists[i-1:j]

如果没有指定第一个索引,Python将自动从列表开头开始;同样,若没有指定第二个索引,Python会自动在列表最后一个元素结束。
负数索引返回离列表末尾相应距离的元素,因此可以输出列表末尾的任何切片。比如要输出players的最后3个运动员,可使用切片players[-3:]。

遍历列表的一部分
要遍历列表的部分元素,可在for循环中使用切片

for player in players[:3]:
	print(player.title())
#打印players列表的前三个运动员

复制列表

myfoods=['pizza','falafel','carrot cake']
friendfoods=myfoods[:]

此时两个列表中元素相同,分别给两个列表做不同处理后,列表元素互不影响

如果写成

friendfoods=myfoods

这种语法实际上是将新变量关联到包含在myfoods中的列表,其实friendfoods和myfoods指向同一个列表,对两个变量名分别操作,其结果会共同作用在一个列表上

元组

dimentions=(200,50)

与定义列表不同,定义元组用圆括号即可,不能修改元组内的元素值,但可以修改元组

dimention[0]=20  #不可行,系统将提示错误
dimention=(20,500) #可以修改元组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值