¿Cómo configurar los primeros N elementos de la matriz a cero?

Tengo una gran variedad de

x= ([2, 5, 4, 7, ...]) 

para lo cual necesito poner los primeros N elementos a 0 . Entonces para N = 2 , la salida deseada sería:

 x = ([0, 0, 4, 7, ...]) 

¿Hay una manera fácil de hacer esto en Python? Alguna función de numpy ?

Pitón puro:

 x[:n] = [0] * n 

con numpy:

 y = numpy.array(x) y[:n] = 0 

también tenga en cuenta que x[:n] = 0 no funciona si x es una lista de python (en lugar de una matriz numpy).

También es una mala idea usar [{some object here}] * n para cualquier cosa mutable, porque la lista no contendrá n objetos diferentes sino n referencias al mismo objeto:

 >>> a = [[],[],[],[]] >>> a[0:2] = [["a"]] * 2 >>> a [['a'], ['a'], [], []] >>> a[0].append("b") >>> a [['a', 'b'], ['a', 'b'], [], []] 

Solo configúralos explícitamente:

 x[0:2] = 0