20. 列表乘以数字,其得到的结果是什么

得到一个新的列表,列表内容为原始列表的倍数, 例如

>>> [1,2,3]*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

如果列表的内容,是一个可变对象,例如也是一个列表类型,如代码以下代码, 请说明每一步变量li 的内容变化情况,以及最后的输出结果。

li = [ [5 ] ] * 3
li[0].append(10)
li[1].append(15)
print(li)

最后的输出结果为[[5, 10, 15], [5, 10, 15], [5, 10, 15]] ,在第一步执行以后li的内容为 [[5], [5], [5]],列表的内容为三个元素为5列表,这三个子列表所指向的对象是同一个对象。 因此第二步和第三步的操作都是在这个子列表对象上追加元素。我们可以用id(li[0]) == id(li[1]) 来进行验证,两个是同一个对象。