我目前正在尝试弄清楚如何使用一个给定元素填充列表,覆盖列表中的其余元素。所以用一个元素完全替换给定列表中的每个元素。 如何用零填充列表,覆盖列表中的所有元素?
列表值= [1,2,3,4,5]是否有办法使列表为值= [0,0,0,0,0]
有没有办法从列表中删除所有元素? 所以对于值= [1,2,3,4,5],使它值为[]?
答案 0 :(得分:2)
>>> x = [1, 2, 3]
>>> x[:] = [0] * len(x)
>>> x
[0, 0, 0]
说明:左侧是所有索引的切片,允许分配切片,右侧是生成重复元素列表的好语法。
在相关的说明中,不要这样做:
>>> a = [[0] * 5] * 5
>>> a
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
因为这样的事情会发生:
>>> a[0][0] = 3
>>> a
[[3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0], [3, 0, 0, 0, 0]]
答案 1 :(得分:0)
使用clear()或只是用新的空列表覆盖,我猜。
type="button"
答案 2 :(得分:-1)
使用一个值替换列表中的所有元素:
values = [0] * len(values)
这会重复0
所需的次数,以弥补列表的长度,然后将其分配给values
。 不将此方法与可变对象(如自定义类)一起使用!
要清空列表,请将名称指定为空列表:
values = []