почему я не могу использовать цепное выражение в numpy? - PullRequest
0 голосов
/ 29 октября 2018

Это не работает:

import numpy as np
np.random.random(10).sort() 

это нормально:

Z = np.random.random(10)
Z.sort()

Скажите, пожалуйста, почему цепное выражение не работает в Numpy.

1 Ответ

0 голосов
/ 29 октября 2018

Так же, как list.sort, numpy.ndarray.sort сортирует на месте, это означает, что он мутирует массив и затем возвращает None.

help(numpy.ndarray.sort) ->

рода (...)
a.sort (ось = -1, вид = 'быстрая сортировка', порядок = нет)
Сортировать массив по месту.

С

np.random.random(10).sort() 

вы не увидите никакого вывода в REPL, потому что None не отображается. (Даже если эта строка выдает значение, отличное от None, чего нет, это будет довольно бессмысленно, поскольку вы не назначаете никакого имени.)

Во втором примере вы создаете массив Z, а затем сортируете его, который работает, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...