一、python 列表乘一个数字
- 在Python中一个列表 list1 乘以 一个数字n 会得到一个新的列表 list2 这个列表的元素是list1的元素的重复 n 次
list1 = [1]
list2 = list1 * 3 # list2 = [1, 1, 1,]
- 但如果在 a * n 这语句中,序列 a 里面的元素是对其它可变对象的引用的话,就需要格外注意,因为这个式子的结果可能出乎意料。比如:你想用 my_list = [ [ ] ] * 3 来初始化一个有列表组成的列表,但是你得到的列表里包含的3个元素其实是 3个引用,而这三个引用指向的都是同一个列表。如果修改其中一个其他的都会随之改变。
例如:
list1 = [[0,0]]
list2 = list1 * 2 # list2 = [[0, 0], [0, 0]]
list2[0][0] = 1 # list2 = [[0, 1], [0, 1]]
print(list1) # [[0,1]]