如何将列表中的所有字符串转换为整数?
['1', '2', '3'] ⟶ [1, 2, 3]
如何将列表中的所有字符串转换为整数?
['1', '2', '3'] ⟶ [1, 2, 3]
当前回答
比列表理解更扩展一点,但同样有用:
def str_list_to_int_list(str_list):
n = 0
while n < len(str_list):
str_list[n] = int(str_list[n])
n += 1
return(str_list)
e.g.
>>> results = ["1", "2", "3"]
>>> str_list_to_int_list(results)
[1, 2, 3]
另外:
def str_list_to_int_list(str_list):
int_list = [int(n) for n in str_list]
return int_list
其他回答
考虑到:
xs = ['1', '2', '3']
使用map then list获取一个整数列表:
list(map(int, xs))
在Python 2中,list是不必要的,因为map返回一个列表:
map(int, xs)
有几种方法可以将列表中的字符串数字转换为整数。
在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]
在获取输入时,只需在一行中完成。
[int(i) for i in input().split("")]
你想在哪分就在哪分。
如果你想转换一个列表而不是列表,只需把你的列表名称放在input().split("")的位置。
在列表xs上使用一个列表推导式:
[int(x) for x in xs]
e.g.
>>> xs = ["1", "2", "3"]
>>> [int(x) for x in xs]
[1, 2, 3]
我还想添加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]