本文使用的书籍是《Python编程:从入门到实践》
本文使用的是Python3.6
一、遍历整个列表
在Python中,你经常需要遍历列表的所有元素,对每个元素执行相同的操作。我们可以用for循环来进行遍历操作,现在用几个例子来讲述for循环的使用:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician.title() + ", thar was a great trick")
在上面我们可以看到for循环的使用方法:
for + 变量名 + in + 列表:
代码
注意的地方是变量可以自己取,最好通俗易懂,然后for循环就会从列表中读取第一个元素,然后执行代码,再进入第二次循环,读取列表中第二个元素,再执行代码,以此类推,直到读取完列表,最后退出循环。
我们用个图来看一下循环是怎么执行的:
我们再举个例子:
numbers = [55, 34, 15, 26, 86, 72]
min_number = 100;
for number in numbers:
if min_number > number:
min_number = number
print("现在打印到了" + number)
print("这个列表的最小值是:" + min_number)
这是一个取最小值的程序,其中的if语句新手朋友可能看不懂但那并不是重点。
我们所要说的是在Python中程序的执行是从上往下执行的,从上述代码可以看出步骤:
二、忘记缩进额外的代码行
几个要点:
# 4-1
pizzas = ['红烧肉', '宫保鸡丁', '北京烤鸭']
for pizza in pizzas:
print("我喜欢" + pizza + "!")
print("我喜欢吃!!")
# 4-2
animals = ['鸡', '鸭', '鹅']
for animal in animals:
print(animal)
print("鸡能走")
print("鸭能跑")
print("鹅能动")
print("它们都能吃")
233
三、创建数值列表
# 普通创建方法
for index in range(0,10):
print(index)
# 有间隔的创建方法
for index in range(0,10,2):
print(index)
大家通过观察结果可以得出最后一个数字是不会被打印的。
numbers = list(range(0,10,2))
print(numbers)
digits = list(range(0,10))
print(min(digits))
print(max(digits))
print(sum(digits))
看着大家都知道是什么函数了吧
4. 列表解析
书中代码:
squares = [value**2 for value range(1, 11)]
print(value)
在我的理解:
变量名 = [筛选条件 原始数据]
从上面的代码进行解析,可得知:
筛选条件是value**2,也就是对数值乘方后再加入列表
原始数据是range(1, 11),要一个一个提取出来,所以用for遍历
还有就是for语句中与筛选条件中的变量要相同,如上代码都是value
动手试一试:
# 4-3
for number in range(1, 21):
print(number)
# 4-4
numbers = list(range(1, 1000001))
for number in numbers:
print(number)
# 4-5
numbers = list(range(1, 1000001))
print("最小值为" + min(numbers))
print("最大值为" + max(numbers))
print("总和为" + sum(numbers))
# 4-6
numbers = list(range(1, 21, 2))
for number in numbers:
print(number)
# 4-7
# 方法一
numbers1 = list(range(3, 31, 3))
for number in numbers1:
print(number)
# 方法二
numbers2 = [value for value in range(3, 31) if value % 3 == 0]
for number in numbers2:
print(number)
# 4-8
# 方法一
numbers1 = []
for number in range(1, 11):
numbers1.append(number**3)
for number in numbers1:
print(number)
# 方法二
numbers2 = [value**3 for value in range(1, 11)]
for number in numbers2:
print(number)
# 4-9
# 容我复制粘贴一下
numbers2 = [value**3 for value in range(1, 11)]
for number in numbers2:
print(number)
四、使用列表的一部分
在本章中,主要内容是对列表的所有元素进行处理,还可以处理列表的部分元素——Python称之为切片。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[0:3])
print(players[:2])
print(players[2:])
print(players[-3:])
没有指定索引的话,要不就从开头开始,要不就从结尾结束。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
for player in players[-3:]:
print(player)
players = ['charles', 'martina', 'michael', 'florence', 'eli']
# 深复制
fav_players = players[:]
# 浅复制
playerss = players
动手试一试:
# 4-10
numbers = [value for value in range(3, 31) if value % 3 == 0]
print("The first three items in the list are:" + numbers[:2])
print("Three items from the middle of the list are:" + numbers[1:3])
print("The last three items in the list are:" + numbers[-3:])
# 4-11
pizzas = ['红烧肉', '宫保鸡丁', '北京烤鸭']
friend_pizzas = pizzas[:]
pizzas.append('鱼香肉丝')
friend_pizzas.append('烤猪蹄')
print("My favorite pizzas are:")
for pizza in pizzas:
print("\t" + pizza)
print("My friend's favorite pizzas are:")
for pizza in friend_pizzas:
print("\t" + pizza)
# 4-12
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
print("My favorite foods are:")
for food in pizzas:
print("\t" + food)
print("My friend's favorite foods are:")
for food in friend_foods:
print("\t" + food)
五、元组
简单的说元组是特别的列表,它不能修改其中的元素,但他能修改整个元组,上代码:
# 创建元组
dimensions = (100, 200)
print(dimensions)
string_dimensions;
for dimension in dimensions:
string_dimensions = dimension + "\t"
print(string_dimensions)
# 修改元组
dimensions = (200, 300)
print(dimensions)
动手试一试:
# 4-13
foods = ['红烧肉', '宫保鸡丁', '北京烤鸭', '鱼香肉丝', '烤猪蹄']
for food in foods:
print(food)
foods[1] = '烤羊肉串'
foods = ['红烧肉', '烤羊肉串', '北京烤鸭', '鱼香肉丝', '糖醋排骨']
for food in foods:
print(food)
这一章就到这里了,下面的格式看一看就行,毕竟也不一定一直用IDEL