Ответ 1
Если вы хотите работать со списком чисел, лучше использовать массивы NumPy:
import numpy
a = [1, 1, 1 ,1, 1]
ar = numpy.array(a)
print ar + 2
дает
[3, 3, 3, 3, 3]
Здесь я снова с моими основными вопросами, но, пожалуйста, несите меня.
В Matlab довольно просто добавить число к элементам в списке:
a = [1,1,1,1,1]
b = a + 1
b
, то [2,2,2,2,2]
В python это не работает, по крайней мере, в списке.
Есть ли простой быстрый способ добавить один номер во весь список.
Спасибо
Если вы хотите работать со списком чисел, лучше использовать массивы NumPy:
import numpy
a = [1, 1, 1 ,1, 1]
ar = numpy.array(a)
print ar + 2
дает
[3, 3, 3, 3, 3]
используя 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]
>>>
Если вы не хотите понимать список:
a = [1,1,1,1,1]
b = []
for i in a:
b.append(i+1)
Вы также можете использовать карту:
a = [1, 1, 1, 1, 1]
b = 1
list(map(lambda x: x + b, a))
Он дает:
[2, 2, 2, 2, 2]