How to add an integer to each element in a list?
If I have list=[1,2,3]
and I want to add 1
to each element to get the output [2,3,4]
,
how would I do that?
I assume I would use a for loop but not sure exactly how.
Solution 1:
new_list = [x+1 for x in my_list]
Solution 2:
The other answers on list comprehension are probably the best bet for simple addition, but if you have a more complex function that you needed to apply to all the elements then map may be a good fit.
In your example it would be:
>>> map(lambda x:x+1, [1,2,3])
[2,3,4]
Solution 3:
>>> mylist = [1,2,3]
>>> [x+1 for x in mylist]
[2, 3, 4]
>>>
list-comprehensions python.
Solution 4:
if you want to use numpy there is another method as follows
import numpy as np
list1 = [1,2,3]
list1 = list(np.asarray(list1) + 1)
Solution 5:
Edit: this isn't in-place
Firstly don't use the word 'list' for your variable. It shadows the keyword list
.
The best way is to do it in place using splicing, note the [:]
denotes a splice:
>>> _list=[1,2,3]
>>> _list[:]=[i+1 for i in _list]
>>> _list
[2, 3, 4]