一、循环更改列表
a=[1,2,3,4,5] for i in range(len(a)): a[i]=a[i]*2
此方法为循环迭代逐个修改原列表的元素
二、列表推导式更改列表
a=[1,2,3,4,5] a=[i*2 for i in a]
而列表推导式是直接创建一个新的列表,然后在赋值给原先的变量名
最后,两种方法实现的效果是一样的,不过列表推导式基本可以实现我们的需求,也更加方便。
三、创建二维列表
还是用两种写法,注意区别
(1)错误写法
我们先这里先写出一个很像二维列表的列表B
接下来我们更改第二行第二列的元素
B[1][1]=1
输出结果:
结果并不是自己想的结果,影响的不单是一个元素,而是三个元素。
这是因为内部嵌套的列表不是三个独立的列表,而是对一个列表的三次引用
(2)循环写法
(3)列表推导式
[expression for target in iterable]
[x for i in range()]
x:为你要存到列表的元素
这里for i in range(3)就是循环三次,每次的元素都是[0]*3=[0,0,0]
此外,列表推导式还可以添加选择语句
[expression for target in iterable if condition]
eg: temp=[i for i in range(10) if i%2==0]
注意这里的执行顺序,先执行for语句,在执行 if语句,最后执行i(元素)
下面我们来验证一下:



