如何将一个整数添加到列表中的每个元素?

如果我有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)