Рассмотрите несколько присвоений x[0],y = y,x[0]
. Применительно к каждому из четырех нижеприведенных случаев это дает четыре разных результата.Несколько присвоений с массивами и списками Numpy, любопытный пример
Случай 1:
x = [[1,2], [3,4]] y = [5,6]
дает
x = [[5,6], [3,4]] y = [1,2]
Случай 2:
x = np.array([[1,2], [3,4]]) y = [5,6]
дает
x = array([[5,6], [3,4]]) y = array([5,6])
Случай 3:
x = [[1,2], [3,4]] y = np.array([5,6])
дает
x = [array([5,6]), [3,4]] y = [1,2]
Случай 4:
x = np.array([[1,2], [3,4]]) y = np.array([5,6])
дает
x = array([[5,6], [3,4]]) y = array([5,6])
Похоже, что множественное назначение списков более умное (проходящее через временную переменную автоматически), чем множественное назначение массивов Numpy.
Мысли?
EDIT: Это не умнее Afterall ...
«Оказывается, что множественное присваивание списков умнее (происходит через временную переменную автоматически), чем многократного присвоения Numpy массивов.» -- Как так? При назначении в массив Numpy он превращается в часть массива Numpy. – Scimonster