如何将一个整数添加到列表中的每个元素?
如果我有list=[1,2,3]
并且我想为每个元素添加1
来获得输出[2,3,4]
,那我该怎么做?
我假设我会使用for循环,但不知道如何。
new_list = [x+1 for x in my_list]
>>> mylist = [1,2,3] >>> [x+1 for x in mylist] [2, 3, 4] >>>
列表推导的Python 。
在列表理解上的其他答案可能是简单加法的最佳select,但如果你有一个更复杂的function,你需要应用到所有的元素,那么地图可能是一个很好的select。
在你的例子中,它将是:
>>> map(lambda x:x+1, [1,2,3]) [2,3,4]
>>> [x.__add__(1) for x in [1, 3, 5]] 3: [2, 4, 6]
我的意图是揭露如果列表中的项目是一个整数,它支持各种内置函数。
Python 2+:
>>> mylist = [1,2,3] >>> map(lambda x: x + 1, mylist) [2, 3, 4]
Python 3+:
>>> mylist = [1,2,3] >>> list(map(lambda x: x + 1, mylist)) [2, 3, 4]
首先不要为你的variables使用单词“list”。 它阴影关键字list
。
最好的方法是使用拼接来完成,注意[:]
表示拼接:
>>> _list=[1,2,3] >>> _list[:]=[i+1 for i in _list] >>> _list [2, 3, 4]
如果你想使用numpy有另一种方法如下
import numpy as np list1 = [1,2,3] list1 = list(np.asarray(list1) + 1)