2013-08-13 2 views
-1

Вот сделка, у меня есть массив кратных элементов, около половины из которых являются нулями. Я хочу удалить эти нули, используя функцию вместо традиционного x=x[x!=0].удалите нули из массива с помощью функции Python

Я пробовал:

def funct(x,y): 
    x=x[x!=0] 
    y=y[y!=0] 

Но выход я получаю ту же переменную я имел прежде, чем я выполнить функцию. Массив с несколькими нулями.

Я новичок в python, так что извините, если этот вопрос звучит нелепо.

спасибо!

ответ

5

x[x!=0] возвращает новый массив, и вы назначили этот новый массив локальной переменной x.

Вы можете сделать:

def funct(x, y): 
    x = x[x!=0] 
    y = y[y!=0] 
    # do something here 
    return x,y 
a, b = funct(a, b) #assign the returned value back to the global variables 
+0

Я думаю, он будет возвращать только один элемент, а не список. (Для списков Python) –

+0

Это NumPy. Объекты - ndarrays, а не списки. – user2357112

+0

@SukritKalra Вопрос помечен 'numpy'. –

Смежные вопросы