替换元素并删除所有元素

时间:2016-05-18 19:42:24

标签: python

我目前正在尝试弄清楚如何使用一个给定元素填充列表,覆盖列表中的其余元素。所以用一个元素完全替换给定列表中的每个元素。 如何用零填充列表,覆盖列表中的所有元素?

列表值= [1,2,3,4,5]是否有办法使列表为值= [0,0,0,0,0]

有没有办法从列表中删除所有元素? 所以对于值= [1,2,3,4,5],使它值为[]?

3 个答案:

答案 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)

  1. 没有任何功能的列表理解 - 只是替换元素。
  2. 使用clear()或只是用新的空列表覆盖,我猜。

    type="button"

答案 2 :(得分:-1)

使用一个值替换列表中的所有元素:

values = [0] * len(values)

这会重复0所需的次数,以弥补列表的长度,然后将其分配给values将此方法与可变对象(如自定义类)一起使用!

要清空列表,请将名称指定为空列表:

values = []