如何将列表中的所有字符串转换为整数?

['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]

其他回答

有几种方法可以将列表中的字符串数字转换为整数。

在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]

考虑到:

xs = ['1', '2', '3']

使用map then list获取一个整数列表:

list(map(int, xs))

在Python 2中,list是不必要的,因为map返回一个列表:

map(int, xs)

我还想添加Python |将列表中的所有字符串转换为整数

方法1:朴素法

# Python3 code to demonstrate 
# converting list of strings to int 
# using naive method 

# initializing list 
test_list = ['1', '4', '3', '6', '7'] 

# Printing original list 
print ("Original list is : " + str(test_list)) 

# using naive method to 
# perform conversion 
for i in range(0, len(test_list)): 
    test_list[i] = int(test_list[i]) 
    

# Printing modified list 
print ("Modified list is : " + str(test_list)) 

输出:

Original list is : ['1', '4', '3', '6', '7']
Modified list is : [1, 4, 3, 6, 7]

方法#2:使用列表理解

# Python3 code to demonstrate 
# converting list of strings to int 
# using list comprehension 

# initializing list 
test_list = ['1', '4', '3', '6', '7'] 

# Printing original list 
print ("Original list is : " + str(test_list)) 

# using list comprehension to 
# perform conversion 
test_list = [int(i) for i in test_list] 
    

# Printing modified list 
print ("Modified list is : " + str(test_list)) 

输出:

Original list is : ['1', '4', '3', '6', '7']
Modified list is : [1, 4, 3, 6, 7]

方法#3:使用map()

# Python3 code to demonstrate 
# converting list of strings to int 
# using map() 

# initializing list 
test_list = ['1', '4', '3', '6', '7'] 

# Printing original list 
print ("Original list is : " + str(test_list)) 

# using map() to 
# perform conversion 
test_list = list(map(int, test_list)) 
    

# Printing modified list 
print ("Modified list is : " + str(test_list)) 

输出:

Original list is : ['1', '4', '3', '6', '7']
Modified list is : [1, 4, 3, 6, 7]

使用python中的循环简写,可以轻松地将字符串列表项转换为int项

假设你有一个字符串result = ['1','2','3']

就做,

result = [int(item) for item in result]
print(result)

它会给你输出

[1,2,3]

在列表xs上使用一个列表推导式:

[int(x) for x in xs]

e.g.

>>> xs = ["1", "2", "3"]
>>> [int(x) for x in xs]
[1, 2, 3]