《Python编程从入门到实践》_第四章_操作列表
for循环遍历整个列表
pizzas = ['pizzahut','dicos','KFC'] for pizza in pizzas: print ("I like "+ pizza + " pizza!") print ("I really like pizza") 运行结果 I like pizzahut pizza! I like dicos pizza! I like KFC pizza! I really like pizza
注意点:
编写for循环的时候,对于用于存储列表中每个值的临时变量,可以指定任何名称,最好是选择有意义的;
python根据缩进来判断代码行与前一个代码行的关系,同一个缩进的代码属于同一个等级;
不要遗漏for语句后的冒号:
函数range()可以轻松生成一系列的数字
for value in range(0,5): print (value) #运行结果 0 1 2 3 4
注意,只打印到你指定的第二个值后停止。使用range(),如果输出不符号预期,请尝试将指定的值加一或者减一。
创建数字列表
可以将range()的输出结果输入到函数list()中,直接转换为列表。
numbers = list(range(1,5)) print (numbers) #运行结果 [1, 2, 3, 4]
还可以指定步长
numbers = list(range(1,10,2)) print (numbers) #运行结果 [1, 3, 5, 7, 9]
将1-10的平方的值加到一个列表里面去
squares = [] for number in range(1,11): square = number **2 #这两步可以简写为squares.append(number**2) squares.append(square) # print (squares) #运行结果 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
列表解析
squares = [value**2 for value in range(1,11)] print (squares) #运行结果 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
要使用这种语法,首先指定一个描述性的列表名,如squares;然后指定一个左方括号,并定义一个表达式
切片
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。
players = ['charles','martina','michael','eli'] print (players[0:3]) #运行结果 ['charles', 'martina', 'michael']
players = ['charles','martina','michael','eli'] print (players[1:]) #如果没有指定最后一个位置,则一直切到尾部 #运行结果 ['martina', 'michael', 'eli']
players = ['charles','martina','michael','eli'] print (players[:3]) #运行结果 ['charles', 'martina', 'michael']
players = ['charles','martina','michael','eli'] print (players[-2:]) #运行结果 ['michael', 'eli']
可以是用for循环来遍历切片的数据
players = ['charles','martina','michael','eli'] for player in players[1:4]: print (player) #运行结果 martina michael eli
可以是索引[:]来复制列表,如果简单的使用等于号来将一个列表赋值给另一个列表,可以理解为这两个列表都指向的是同一个列表空间,改变其中一个列表就会改变另一个。
my_foods = ['pizza', 'falafel', 'carrot cake'] friend_foods = my_foods my_foods.append('cannoli') friend_foods.append('ice cream') print("My favorite foods are:") print(my_foods) My favorite foods are: ['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream'] print("\nMy friend's favorite foods are:") print(friend_foods) My friend's favorite foods are: ['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
元组
元组使用圆括号来标识,元组里面的元素不可增删,不可直接赋值修改!
dimensions = (200,50) print (dimensions[0]) print (dimensions[1]) #运行结果 200 50
可以是用for循环来遍历整个元组
虽然不能修改元组的元素,但可以给存储元组的变量赋值,因此,如果要修改,只能重新定义整个元组。
dimensions = (200,50) for dimension in dimensions: print (dimension) dimensions = (100,120) for dimension in dimensions: print (dimension) #运行结果 200 50 100 120