Подтвердить что ты не робот

Суммируйте одно число для каждого элемента в списке (или массиве) в Python

Здесь я снова с моими основными вопросами, но, пожалуйста, несите меня.

В Matlab довольно просто добавить число к элементам в списке:

a = [1,1,1,1,1]
b = a + 1

b, то [2,2,2,2,2]

В python это не работает, по крайней мере, в списке.

Есть ли простой быстрый способ добавить один номер во весь список.

Спасибо

4b9b3361

Ответ 1

Если вы хотите работать со списком чисел, лучше использовать массивы NumPy:

import numpy
a = [1, 1, 1 ,1, 1]
ar = numpy.array(a)
print ar + 2

дает

[3, 3, 3, 3, 3]

Ответ 2

используя List List:

>>> L = [1]*5
>>> [x+1 for x in L]
[2, 2, 2, 2, 2]
>>> 

что примерно соответствует использованию цикла for:

>>> newL = []
>>> for x in L:
...     newL+=[x+1]
... 
>>> newL
[2, 2, 2, 2, 2]

или с помощью карты:

>>> map(lambda x:x+1, L)
[2, 2, 2, 2, 2]
>>> 

Ответ 3

Если вы не хотите понимать список:

a = [1,1,1,1,1]
b = []
for i in a:
    b.append(i+1)

Ответ 4

Вы также можете использовать карту:

a = [1, 1, 1, 1, 1]
b = 1
list(map(lambda x: x + b, a))

Он дает:

[2, 2, 2, 2, 2]