6、列表(下):操作列表(元组)

1、遍历整个列表

操作1:使用for循环

cars=["bmw","audi","toyoto","subaru"]
for car in cars:
    print(car,end=" ")

输出
bmw audi toyoto subaru 

for循环:这行代码让python从列表cars中取出一个元素,并且存储在变量car中。最后,让python打印前面存储到变量car中的元素。python重复执行下面的for,直到cars最后一个元素。

for car in cars:
    print(car,end=" ")

解释这个程序for循环:第一次for,拿到cars[1]的bmw,并且存在car中,然后执行print,输出bmw,之后重新回去for,继续上面步骤。。。直到cars的值全部循环结束。执行下一行代码。(这样解释希望能通俗易懂),这种for循环执行速度通常很快

1)、循环前操作
2)、循环中操作:有缩进的程序
3)、循环后操作:没缩进的程序

操作2:缩进

操作3:创建数字列表
1)range(num1,num2,步长)

squares=[]
for value in range(0,11,2):
    squares.append(value**2)
print(squares)

print(list(range(2,5)))

结果:
[0, 4, 16, 36, 64, 100]
[2, 3, 4]

2)一些函数
min() max() sum()

list=[0, 4, 16, 36, 64, 100,-3,300,200]
print(min(list))

3)列表解析
列表解析是让for循环和创建新元素的代码合成一行,并且自动附加新元素
格式:
列表名=[表达式 for循环]
其中:表达式是要存储在列表中的值

squares = [value**2 for value in range(1,5)]
print(squares)

输出
[1, 4, 9, 16]

操作4:使用列表部分元素(切片)
1)切片

cars=["bmw","audi","toyoto","subaru"]
#切片基本使用,输出2、3
print(cars[1:3])
#输出全部
print(cars[:])
#输出2到最后
print(cars[1:])
#输出1到倒数第二
print(cars[:3])
#输出倒数第三到最后一个
print(cars[-3:])
#输出倒数第三到倒数第二
print(cars[-3:-1])

#复制的使用----复制正确做法
car_copy=cars[:]
cars.append("honta")
print("原本",cars)
car_copy.append("mini")
print("副本",car_copy)

#直接赋值---这里是赋值而非复制
car_copy=cars
cars.append("uuu")
car_copy.append("ddd")
print("car_copy",car_copy)
print("cars",cars)


结果:
['audi', 'toyoto']
['bmw', 'audi', 'toyoto', 'subaru']
['audi', 'toyoto', 'subaru']
['bmw', 'audi', 'toyoto']
['audi', 'toyoto', 'subaru']
['audi', 'toyoto']
原本 ['bmw', 'audi', 'toyoto', 'subaru', 'honta']
副本 ['bmw', 'audi', 'toyoto', 'subaru', 'mini']
car_copy ['bmw', 'audi', 'toyoto', 'subaru', 'honta', 'uuu', 'ddd']
cars ['bmw', 'audi', 'toyoto', 'subaru', 'honta', 'uuu', 'ddd']

操作5:元组:也可以称作不可变的列表

cars=("bmw","audi","toyoto","subaru")
cars.append("mini")
print(cars)

报错:
    cars.append("mini")
AttributeError: 'tuple' object has no attribute 'append'

#不能修改元素的值,但是可以修改元组的值
cars=("mini","audi")
print(cars)

你可能感兴趣的:(6、列表(下):操作列表(元组))