У меня есть следующий код:возвращает массив вместо кортежа из функции NumPy
return atleast_1d(0.4*P2), atleast_1d(k_uni)
Моя функция возвращает кортеж. Каков самый быстрый способ сделать это возвращение в виде массива?
У меня есть следующий код:возвращает массив вместо кортежа из функции NumPy
return atleast_1d(0.4*P2), atleast_1d(k_uni)
Моя функция возвращает кортеж. Каков самый быстрый способ сделать это возвращение в виде массива?
Этот оператор возврата создает кортеж, состоящий из 2 массивов.
return atleast_1d(0.4*P2), atleast_1d(k_uni)
Вы бы получить кортеж, если вы сделали
return 1, 2
return [1,2,3],{'one':1}
etc
Я предложил бы вызвать функцию с
x, y = foo(...)
Сейчас 2 массивов, определенные в обратном заявлении присваивается 2 переменных. Вы можете комбинировать их с тем, что работает (зависит от их формы).
np.array((x,y))
np.concatenate((x,y))
etc
Обратите внимание, что я фактически передаю эти функции кортежу. Я мог бы написать это как список.
Проблема заключается не в том, как функция возвращает кортеж, а как вы хотите объединить 2 массива в один.
Я думаю, вы меня неправильно поняли. Я просто хочу, чтобы одна строка кодирования в операторе return возвращала массив (hdstack из двух массивов) вместо кортежа. –
Что случилось с 'return np.hstack ((array1, array2))'? Это ваш выбор, применяете ли вы «hstack» до или после возвращения. – hpaulj
На самом деле ваша логика здесь работает. Спасибо :) . Теперь он решен. –
Возможно, 'return array ((atleast_1d (0.4 * P2), atleast_1d (k_uni)))'? Btw. ваше название вопроса ничего не говорит о содержании вашего вопроса. – jDo
Привет! Пожалуйста, уделите время, чтобы просмотреть свой вопрос и немного почистить его. Люди будут более охотно помогать, если это похоже на то, что вы на самом деле приложили определенные усилия для написания правильного вопроса :) Возможно, вам стоит начать с добавления вашего фактического вопроса в заголовок. – Alfro
ОК. Я исправлю себя в следующий раз. –