use*_*201 13 python arrays numpy
我有一个很长的阵列:
x= ([2, 5, 4, 7, ...])
Run Code Online (Sandbox Code Playgroud)
我需要将第一个N元素设置为0.因此N = 2,所需的输出将是:
x = ([0, 0, 4, 7, ...])
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法在Python中执行此操作?一些numpy功能?
syn*_*nym 22
纯蟒蛇:
x[:n] = [0] * n
Run Code Online (Sandbox Code Playgroud)
与numpy:
y = numpy.array(x)
y[:n] = 0
Run Code Online (Sandbox Code Playgroud)
还指出,x[:n] = 0不不,如果工作x是一个Python列表(而不是numpy的阵列).
使用[{some object here}] * n任何可变的东西也是一个坏主意,因为列表不会包含n个不同的对象,但是对同一个对象的n个引用:
>>> a = [[],[],[],[]]
>>> a[0:2] = [["a"]] * 2
>>> a
[['a'], ['a'], [], []]
>>> a[0].append("b")
>>> a
[['a', 'b'], ['a', 'b'], [], []]
Run Code Online (Sandbox Code Playgroud)
只需明确设置它们即可:
x[0:2] = 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30367 次 |
| 最近记录: |