使用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) #可以修改元组