4. 操作列表

操作列表

遍历整个列表

for循环打印所有元素:

for bicyle in bicyles:
  print(bicyle)

for循环中,可对每个元素执行任何操作:

for bicyle in bicyles:
    print(bicyle.title() + ", this is mine")

for循环中,想包含多少行代码都可以,在for bicyle in bicyles后面,每个缩进的代码都是循环的一部分,且将针对列表中的每个值都执行一次

for循环结束后执行一些操作。没有缩进的代码都只执行一次,而不会重复执行:

bicyles = ['trek', 'cannondale', 'redline', 'specialized']
for bicyle in bicyles:
    print(bicyle.title() + ", this is mine")
print('Thank you')

避免缩进错误

忘记缩进

忘记缩进额外的代码行

不必要的缩进

循环后不必要的缩进

遗漏了冒号

创建数值列表

函数range():从指定的第一个值开始,并在到达指定的第二个值停止

for value in range(1,5):
    print(value)
#结果
1
2
3
4

使用list()创建数字列表:

numbers = list(range(1,6))
print(numbers)
#结果
[1,2,3,4,5]

range()可以指定步长

numbers = list(range(2,11,2))
print(numbers)
#结果
[2,4,6,8,10]

对数字列表执行简单的统计计算

numbers = [2,4,6,8,10]
min(numbers)
max(numbers)
sum(numbers)

列表解析:将for循环和创建新元素的代码合并成一行,并自动附加新元素

squares = [value**2 for value in range(1,11)]
#结果
[1,4,9,16,25,36,49,64,81,100]

使用列表的一部分

切片

bicyles = ['trek', 'cannondale', 'redline', 'specialized', 'lu']
print(bicyles[1:3])
#结果
['cannondale', 'redline']
​
print(bicyles[:3]) #没有指定第一个索引,自动从列表开头开始
#结果
['trek', 'cannondale', 'redline']
​
print(bicyles[3:]) #没有指定第二个索引,自动从列表末尾结束
#结果
['specialized', 'lu']
​
print(bicyles[-3:]) #负数索引返回离列表末尾相应距离的元素
#结果
['redline', 'specialized', 'lu']

遍历切片

bicyles = ['trek', 'cannondale', 'redline', 'specialized', 'lu']
for bicyle in bicyles[:3]:
    print(bicyle.title())

复制列表

bicyles = ['trek', 'cannondale', 'redline', 'specialized', 'lu']
my_bicyles=bicyles[:] #包含整个列表的切片
print(my_bicyles)
#结果
['trek', 'cannondale', 'redline', 'specialized', 'lu']

不使用切片时复制列表

my_foods = ['pizza', 'falafel', 'carrot cake']
#这行不通
frind_foods = my_foods #frind_foods关联到包含my_foods的列表,两个变量指向的是同一个列表
​
my_foods.append('cannoli')
frind_foods.append('ice cream')
​
print(my_foods)
print(frind_foods)
#结果
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']
['pizza', 'falafel', 'carrot cake', 'cannoli', 'ice cream']

元组

列表非常适合用于存储在程序运行期间可能变化的数据集。

Python将不能修改的值称为不可变的,将不可变的列表称为元组。

元组定义

dimensions = (200,50)
print(dimensions[1])
#结果
200
50

遍历元组中的所有值

dimensions = (200,50)
for dimension in dimensions:
    print(dimension)

修改元组变量

不能修改元组的元素,但可以给存储元组的变量赋值

dimensions = (200,50)
for dimension in dimensions:
    print(dimension)
    
dimensions = (400,100) #重新定义整个元组
for dimension in dimensions:
    print(dimension)
posted @ 2021-11-23 10:44  KYZH  阅读(26)  评论(0编辑  收藏  举报