第四章 操作列表
Python根据缩进来判断代码行与前一个代码行的关系,你将看到缩进程度各不相同的代码块。
目录
1.遍历整个列表(for循环)
- 不同缩进代表语句之间结构关系
- 不必要的缩进会引起错误
- for循环后加: 列表解析的时候不加:
#magicians.py
magicians=['alice','david','carolina']
for magician in magicians:
print(magician.title()+",that was a great trick!")
print("I can't wait to see you next trick,"+magician.title()+".\n")
print("Thank you everyone!")
2.创建数值列表
- range()生成数值列表
- 函数list()将range()的结果直接转换为列表
- range()指定步长2
- 整数平方value**2
- 数字列表进行简单统计min() max() sum()
- 列表解析(代码量少): for循环为for value in range(1,11),它将值1~10提供给表达式value**2
请注意,这里的for语句末尾没有:
#numbers.py
for value in range(1,5):
print(value)
#函数list()将range()的结果直接转换为列表
numbers=list(range(1,6))
print(numbers)
#range()指定步长2
numbers=list(range(1,6,2))
print(numbers)
#整数平方
squares=[]
for value in range(1,11):
square = value**2
squares.append(square)
print(squares)
squares=[]
for value in range(1,11):
squares.append(value**2)
print(squares)
#数字列表进行简单统计
print(max(squares))
print(min(squares))
print(sum(squares))
#列表解析 for循环为forvalue in range(1,11),它将值1~10提供给表达式value**2
#请注意,这里的for语句末尾没有冒号
squares= [value**2 for value in range(1,11)]
print(squares)
3.动手试一试4-3—4-9
4.部分列表(切片、遍历列表、复制列表)
切片、遍历列表:
#players.py
#从1开始到3 并且只输出到倒数第二个元素
players=['chsrles','martina','michael','florence','eli']
print(players[1:3])
#默认0开始
print(players[:3])
#默认输出到末尾
print(players[2:])
#负索引
print(players[-4:])
#遍历切片
print("如下:")
for player in players[:3]:
print(player.title())
复制列表:
注意是否是两个列表,还是两个变量指向同一个列表
#foods.py
#复制列表 创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])
my_foods=["pizza","milk","apple","watermelon"]
friend_foods=my_foods[:]
print("My foods are:")
print(my_foods)
print("\nMy friend's food are:")
print(friend_foods)
#核实得到的是两个列表
my_foods.append('banana')
friend_foods.append("rice")
print("My foods are:")
print(my_foods)
print("\nMy friend's food are:")
print(friend_foods)
#不用切片不能得到两个表,两个变量指向同一个列表
#my_foods赋给friend_foods,而不是将my_foods的副本存储到friend_foods
my_foods=["pizza","milk","apple","watermelon"]
friend_foods=my_foods
my_foods.append('banana')
friend_foods.append("rice")
print("My foods are:")
print(my_foods)
print("\nMy friend's food are:")
print(friend_foods)
5.动手试一试:4-10——4-12
6.定义元组
- Python将不能修改的值称为不可变的,而不可变的列表被称为元组
- python中元组的元素,但是可以修改元组变量,给元组变量赋值
- 圆括号
- 用索引来访问其元素
- for循环遍历元组
- 修改元组变量——给存储元组的变量赋值
-
#dimensions.py 元组 dimensions=(200,50) print(dimensions[0]) print(dimensions[1]) #以下是错误代码 #dimensions[0]=90 #遍历元组 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("\nModified dimensions:") for dimensions in dimensions: print(dimensions)
7.动手试一试4-13
8.设置代码格式---代码易于阅读
- PEP 8建议每级缩进都使用四个空格
- 混合使用制表符和空格会让Python解释器感到迷惑,对编辑器进行设置,使其在文档中插入空格而不是制表符。
- 建议每行不超过80字符
- PEP 8建议注释的行长不超过72字符,有些工具为大型项目自动生成文档时,会在每行注释开头添加格式化字符
- Python解释器根据水平缩进情况来解读代码,但不关心垂直间距。
- 请访问https://python.org/dev/peps/pep-0008/,阅读PEP 8格式设置指南