1、遍历整个列表
1 magicians = ['alice','david','carolina'] 2 for magician in magicians: 3 print(magician)
2、创建数值列表
2.1、使用函数range()
1 for value in range(1.5): 2 print(value) #打印1 2 3 4,不会打印5。
2.2、使用range()函数创建数字列表
1 numbers = list(range(1,6)) #列表还可以用list1 = list()这个方法创建。 2 print(numbers) 3 4 #使用range()函数时,还可以制定步长。 5 even_numbers = list(range(2,11,2)) #取偶数 6 print(even_numbers) 7 8 odd_numbers = list(range(1,11,2)) #取奇数 9 print(odd_numbers) 10 11 #求平方数 12 squares = [] 13 for value in range(1,11): 14 square = value**2 #将每个数字的平方数储存在变量中 15 squares.append(square) #将平方数存储至列表中 16 17 print(squares) #打印列表
2.3、对数字列表执行简单的统计
1 digits = [1,2,3,4,5,6,7,8,9,10] 2 print(min(digits)) #求最小值 3 print(max(digits)) #求最大值 4 print(sum(digits)) #求和
2.4、列表解析
1 squares = [values**2 for value in range(1,11)] #列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。 2 print(squares)
2.5、练习题
1 #使用for循环打印数字1~20(包含) 2 for v in range(1,21): 3 print(v) 4 5 #创建一个列表,包含数字1~100 0000,再打印出每个元素。 6 li = list(range(1,1000001)) 7 for i in li: 8 print(i) 9 10 #计算1~100 0000相加的总和。 11 li = list(range(1,1000001)) 12 print(sum(li)) 13 14 #创建列表,包含1~20的所有奇数,并打印这些数字。 15 li = list(range(1,21,2) 16 for odd in li: 17 print(odd) 18 19 #创建一个列表,其中包含3~30内能被3整除的数字,并打印出这些数字。 20 li = [] 21 for i in range(3,31): 22 if i%3 == 0: #余数为0,即能被3整除 23 li.append(i) #符合条件的数字添加到列表中 24 25 print(li) 26 for n in li: 27 print(n) 28 29 ''' 30 方法二 31 li = list(range(3,31,3)) 32 for i in li: 33 print(i) 34 ''' 35 36 #创建一个列表,包含前10的整数的立方,并打印立方数。 37 li = [] 38 for i in range(1,11): 39 n = i**3 #将立方赋值给变量 40 li.append(n) #变量的值存储到列表中 41 print(n) 42 43 print(li) 44 45 #立方解析 46 li = [i**3 for i in range(1,11)]
3、使用列表的一部分
3.1 切片
要使用切片,可指定要使用的第一个元素和最后一个元素的索引。和函数range()一样,Python在到达你指定的第二个索引前面的元素后停止。使用切片得到的结果仍然为列表。
1 players = ['charles' , 'martina' , 'michael' , 'florence', 'eli'] 2 print(players[0:3]) #打印前三个元素,结果为列表:['charles', 'martina', 'michael'] 3 4 print(players[ :4]) #打印前四个元素 5 6 print(players[1: ]) #打印第二个元素至最后一个元素 7 8 print(players[-1: ]) #打印最后一个元素 9 10 print(players[-3:]) #打印最后三个元素 11 12 #遍历切片 13 players = ['charles' , 'martina' , 'michael' , 'florence', 'eli'] 14 15 print("Here are the first three players on my team: ") 16 for player in players[ :3]: #只遍历前三个队员 17 print(player.title()) 18 19 #复制列表 20 ''' 21 这样做不行!!!! 22 my_foods = ['pizza','falafel','carrot cake'] 23 friend_foods = my_foods #这样只是将my_foods赋值给friend_foods,并没有将my_foods的副本存储到friend_foods。这种做法的两个变量都指向同一个列表(同一内存地址) 24 print(friend_foods) 25 print(id(my_foods)) 26 print(id(friend_foods)) #内存地址都一样 27 28 my_foods.append('cannoli') 29 print(friend_foods) #跟着变化 30 friend_foods.append('ice cream') 31 print(friend_foods) 32 print(my_foods) #跟着变化 33 ''' 34 35 my_foods = ['pizza','falafel','carrot cake'] 36 friend_foods = my_foods[:] #浅拷贝 37 print(friend_foods) 38 print(id(my_foods)) 39 print(id(friend_foods)) #内存地址不一样 40 41 my_foods.append('cannoli') 42 print(friend_foods) 43 friend_foods.append('ice cream') 44 print(friend_foods) 45 print(my_foods) #和my_foods不一样