如何将列表中的所有字符串转换为整数?
['1', '2', '3'] ⟶ [1, 2, 3]
如何将列表中的所有字符串转换为整数?
['1', '2', '3'] ⟶ [1, 2, 3]
当前回答
有几种方法可以将列表中的字符串数字转换为整数。
在Python 2中。X你可以使用地图功能:
>>> results = ['1', '2', '3']
>>> results = map(int, results)
>>> results
[1, 2, 3]
在这里,它在应用函数后返回元素列表。
在Python 3中。X,你可以使用相同的地图
>>> results = ['1', '2', '3']
>>> results = list(map(int, results))
>>> results
[1, 2, 3]
不像python 2。x,这里map函数将返回map对象,即迭代器,它将逐个产生结果(值),这就是我们进一步需要添加一个名为list的函数的原因,该函数将应用于所有可迭代项。
在python 3.x中,map函数的返回值和类型请参考下图
第三种方法在python 2中都是通用的。X和python 3。x即列表推导式
>>> results = ['1', '2', '3']
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]
其他回答
下面的答案,即使是最流行的答案,也并非适用于所有情况。我有这样一个解决方案的超级抗推力str。 我有这样一件事:
AA =[’0’、160。5,160。5、160。1、160。1、160。1,1 160。]
AA = pd.DataFrame(AA, dtype=np.float64)
AA = AA.values.flatten()
AA = list(AA.flatten())
AA
[0.0, 0.5, 0.5, 0.1, 0.1, 0.1]
你可以笑,但这很有效。
有几种方法可以将列表中的字符串数字转换为整数。
在Python 2中。X你可以使用地图功能:
>>> results = ['1', '2', '3']
>>> results = map(int, results)
>>> results
[1, 2, 3]
在这里,它在应用函数后返回元素列表。
在Python 3中。X,你可以使用相同的地图
>>> results = ['1', '2', '3']
>>> results = list(map(int, results))
>>> results
[1, 2, 3]
不像python 2。x,这里map函数将返回map对象,即迭代器,它将逐个产生结果(值),这就是我们进一步需要添加一个名为list的函数的原因,该函数将应用于所有可迭代项。
在python 3.x中,map函数的返回值和类型请参考下图
第三种方法在python 2中都是通用的。X和python 3。x即列表推导式
>>> results = ['1', '2', '3']
>>> results = [int(i) for i in results]
>>> results
[1, 2, 3]
这里有一个简单的解决方案,对您的查询进行了解释。
a=['1','2','3','4','5'] #The integer represented as a string in this list
b=[] #Fresh list
for i in a: #Declaring variable (i) as an item in the list (a).
b.append(int(i)) #Look below for explanation
print(b)
这里,append()用于将项(即本程序中字符串(i)的整数版本)添加到列表(b)的末尾。
注意:int()是一个帮助将字符串形式的整数转换回整数形式的函数。
输出控制台:
[1, 2, 3, 4, 5]
因此,只有当给定的字符串完全由数字组成时,我们才能将列表中的字符串项转换为整数,否则将产生错误。
考虑到:
xs = ['1', '2', '3']
使用map then list获取一个整数列表:
list(map(int, xs))
在Python 2中,list是不必要的,因为map返回一个列表:
map(int, xs)
在获取输入时,只需在一行中完成。
[int(i) for i in input().split("")]
你想在哪分就在哪分。
如果你想转换一个列表而不是列表,只需把你的列表名称放在input().split("")的位置。