2024-10-01 22:31:01 发布
网友
我有一长串:
x= ([2, 5, 4, 7, ...])
为此,我需要将第一个N元素设置为0。因此,对于N = 2,期望的输出是:
N
0
N = 2
x = ([0, 0, 4, 7, ...])
在Python中有一种简单的方法可以做到这一点吗?一些功能?
纯Python:
x[:n] = [0] * n
有了纽比:
y = numpy.array(x) y[:n] = 0
还要注意,如果x是一个python列表(而不是numpy数组),那么x[:n] = 0不工作。
x
x[:n] = 0
对于任何可变的对象使用[{some object here}] * n也是一个坏主意,因为列表将不包含n个不同的对象,而是包含对同一对象的n个引用:
[{some object here}] * n
>>> a = [[],[],[],[]] >>> a[0:2] = [["a"]] * 2 >>> a [['a'], ['a'], [], []] >>> a[0].append("b") >>> a [['a', 'b'], ['a', 'b'], [], []]
只需明确设置它们:
x[0:2] = 0
纯Python:
有了纽比:
还要注意,如果
x
是一个python列表(而不是numpy数组),那么x[:n] = 0
不工作。对于任何可变的对象使用
[{some object here}] * n
也是一个坏主意,因为列表将不包含n个不同的对象,而是包含对同一对象的n个引用:只需明确设置它们:
相关问题 更多 >
编程相关推荐