Допустим, мне нужно добавить 2 n-мерных вектора. Каков питонический способ добавить их напрямую?
Например, в R^3, но не ограничиваясь R^3,
a = (123.45, 23.45, 1.0)
b = (45.678, 56.78, 5.0)
(Получить (169.128, 80.23, 6.0)
)
Допустим, мне нужно добавить 2 n-мерных вектора. Каков питонический способ добавить их напрямую?
Например, в R^3, но не ограничиваясь R^3,
a = (123.45, 23.45, 1.0)
b = (45.678, 56.78, 5.0)
(Получить (169.128, 80.23, 6.0)
)
Если вы попробуете очевидное, вы получите генератор:
Таким образом, вы можете напрямую преобразовать его в кортеж:
В любом случае, я рекомендую вместо этого использовать NumPy :
Попробуйте с:
Другой способ использования по модулю
operator
eitertools
:Используя предоставленный пример:
Другой питонический способ :
map
берет по одному элементу из каждой переданной ему итерации, что сохраняет zip.В Python 3.x карта возвращает файл
generator
.В Python 2.x его можно было использовать
itertools.imap
вместо тогоmap
, чтобы всегда иметь согласованный результат и не генерировать промежуточный список.Результат
В общем:
Теперь в python3 вы получите генератор, поэтому, если вы хотите получить кортеж или список:
Язык программирования Python является одним из наиболее часто используемых в научной и образовательной сфере, и это связано с его специфическими библиотеками и API для всего, что связано с научными расчетами. Я рекомендую вам войти в SciPy и просмотреть эту большую галерею очень интересных библиотек, среди которых есть NumPy , который вам уже рекомендовали, и Matplotlib , который также очень полезен для того, что вы хотите сделать, нужно просто немного изучить его документацию и посмотреть, какой из них ближе всего к тому, что вы хотите сделать.
Помните, что одним из преимуществ Python является большое количество библиотек, решающих многие проблемы, с которыми мы сталкиваемся в образовательной и рабочей среде. Всякий раз, когда вам нужно сделать что-то конкретное, наверняка кто-то уже создал библиотеку, которая при использовании, скорее всего, поможет вам минимизировать время на решение проблемы.