时间:2018/04/22
主要学习:
4.操作列表
操作列表
遍历整个列表
你经常需要遍历列表里的所有元素,对每个元素进行相同的操作。这时候可以使用Python中的for循环进行遍历操作。这种遍历我们也可称为迭代。
magicians=['alice','david','carolina']
for magician in magicians:
print(magician)
#利用for循环进行列表中所有元素的打印操作,直至执行至列表中无其他元素for循环停止
#编写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!')#没有缩进时,该语句不在for循环中,所以在for循环结束后该语句仅执行一次
避免缩进错误:
忘记缩进,多个步骤后面步骤忘记缩进,不必要的缩进,循环后不必要的缩进,遗漏冒号
创建数值列表
numbers=list(range(1,6))#range()创建1到6(不包括6)的数,list()则将数字转换成列表
print(numbers)#打印了1-5这五个数字组成的列表
#使用range()函数时,还可以指定步长。
even_numbers=list(range(2,11,2)#range()函数从2开始数,依次加2直到11
print(even_numbers)
#获取前十个数的平方根列表
squares=[]
for value in range(1,11):
square=value**2#**表示乘方运算
squares.append(square)
print(squares)
#对数字列表进行简单的统计计算
print(min(squares))#打印最小值
print(max(squares))#打印最大值
print(sum(squares))#打印列表中数字的和
#以上可以使用列表解析来缩短行数
squares=[value**2 for value in range(1,11)]
print(squares)
使用列表的一部分
切片
处理列表的部分元素--python称之为切片(slice)。
players=['charles','martina','michael','flirence','eli']
print(players[0:3])#打印第1个到第3个运动员
print(players[1:4])#打印第2个到第4个运动员
print(players[:4])#没有指定第一个索引,python将会自动从列表开头开始
print(players[2:])#打印终止于列表末尾
print(players[-3:])#打印最后3个运动员
遍历切片
在for循环中使用切片可以遍历列表部分元素。
players=['charles','martina','michael','flirence','eli']
print('Here are the first three players in my team:')
for player in players[:3]:
print(player.title())
复制列表
!注意使用切片复制列表与用赋值赋值的差别
my_foods=['pizza','falafel','carrot cake']
friend_foods=my_foods[:]#同时省略起始引符和终止引符,达到复制列表的作用
print('My favorite foods are:\n'+str(my_foods))
print('My friend\'s favorite foods are:\n'+str(friend_foods))
#通过append()方法在两个列表中添加元素
my_foods.append('cannoli')
friend_foods.append('ice cream')
print('My favorite foods are:\n'+str(my_foods))
print('My friend\'s favorite foods are:\n'+str(friend_foods))
my_foods=['pizza','falafel','carrot cake']
#以下步骤行不通
friend_foods=my_foods
friend_foods.append('ice cream')
print('My favorite foods are:\n'+str(my_foods))
print('My friend\'s favorite foods are:\n'+str(friend_foods))#两个都会出现'ice cream'
#这里将my_foods赋值给friend_foods,仅仅只是让python将新变量friend_foods关联到包含在my_foods中的列表,两个变量都指向同一个列表,因此对于任一变量的修改都会影响到另一变量
!当想要使用列表副本时请使用切片操作复制列表
元组
不可变的列表称为元组(tuple)。元组看起来类似列表,但是使用圆括号而不是方括号来标识。
定义元组
dimensions=(200,50)
print(dimensions[0],dimensions[1])
#尝试修改元组元素,以下过程将会报错
dimensions[0]=250
print(dimensions[0])
遍历元组中的所有值
dimensions=(200,50)
for dimension in dimensions:
print(dimension)
修改元组变量
修改元组变量需要重新定义该元组
dimensions=(200,50)
print('Original dimensions:')
for dimension in dimensions:
print(dimension)
dimensions=(400,100)
print('Modified dimensions:')
for dimension in dimensions:
print(dimension)
设置代码格式
格式设置指南
缩进
行长
空行
其他格式设置指南