Выполнение математики в списке в python

Как я могу сказать [111, 222, 333] и умножить его на 3, чтобы получить [333, 666, 999]?

Ответы

Ответ 1

[3*x for x in [111, 222, 333]]

Ответ 2

Если вы собираетесь выполнять множество операций с массивами, вам, вероятно, будет полезно установить Numpy. Затем вы можете использовать обычные арифметические операции по массиву на массивах, а также много полезных функций для вычисления с массивами.

>>> import numpy
>>> a = numpy.array([111,222,333])
>>> a * 3
array([333, 666, 999])
>>> a + 7
array([118, 229, 340])
>>> numpy.dot(a, a)
172494
>>> numpy.mean(a), numpy.std(a)
(222.0, 90.631120482977593)

Ответ 3

В качестве альтернативы вы можете использовать команду map, как показано ниже:

map(lambda x: 3*x, [111, 222, 333])

Довольно удобно, если у вас есть более сложная функция для применения к последовательности.