列表是python编程中最常用的容器对象之一。在这篇文章中,我们将讨论在python中把字符串列表转换为整数列表的各种方法。
使用For Loop将字符串列表转换成整数列表
我们可以使用for循环和int() 函数将一个字符串列表转换为一个整数列表。为此,我们将首先创建一个名为output_list 的空列表。之后,我们将使用for循环遍历字符串列表。在遍历过程中,我们将使用int() 函数将每个字符串元素转换为一个整数。之后,我们将使用append() 方法将整数添加到output_list 。append() 方法,当在一个列表上调用时,接受一个元素作为输入参数,并将该元素追加到列表中。
在执行for循环后,我们将得到一个整数的列表,即output_list 。你可以在下面的例子中观察到这一点。
myList = ["1", "2", "3", "4", "5"]
output_list = []
for element in myList:
value = int(element)
output_list.append(value)
print("The input list is:", myList)
print("The output list is:", output_list)
输出。
The input list is: ['1', '2', '3', '4', '5']
The output list is: [1, 2, 3, 4, 5]
如果在列表中存在不能转换为整数的元素,程序将遇到ValueError 异常,如下图所示。
myList = ["1", "2", "3", "4", "5", "PFB"]
output_list = []
for element in myList:
value = int(element)
output_list.append(value)
print("The input list is:", myList)
print("The output list is:", output_list)
输出结果。
Traceback (most recent call last):
File "/home/aditya1117/PycharmProjects/pythonProject/string1.py", line 4, in <module>
value = int(element)
ValueError: invalid literal for int() with base 10: 'PFB'
在这里,你可以看到字符串 "PFB "不能被转换为整数。由于这个原因,程序引发了ValueError 异常。
为了处理这个错误,你可以在python中使用try-except块来处理异常。在for循环内部,我们将在尝试块中使用int() 函数将元素转换为整数,然后再追加到output_list 。在except块中,我们将打印每个不能转换为整数的元素。通过这种方式,我们将得到一个整数列表,只使用输入列表中那些可以直接使用 int() 函数转换为整数的元素。
你可以在下面的例子中观察到这一点。
myList = ["1", "2", "3", "4", "5", "PFB"]
output_list = []
for element in myList:
try:
value = int(element)
output_list.append(value)
except ValueError:
print("{} cannot be converted to integer.".format(element))
print("The input list is:", myList)
print("The output list is:", output_list)
输出。
PFB cannot be converted to integer.
The input list is: ['1', '2', '3', '4', '5', 'PFB']
The output list is: [1, 2, 3, 4, 5]
使用列表理解法将字符串列表转换成整数列表
我们可以不使用for循环,而是使用列表理解和int() 函数将一个字符串列表转换为一个整数列表,如下所示。
myList = ["1", "2", "3", "4", "5"]
output_list = [int(element) for element in myList]
print("The input list is:", myList)
print("The output list is:", output_list)
输出。
The input list is: ['1', '2', '3', '4', '5']
The output list is: [1, 2, 3, 4, 5]
使用列表理解有一个限制,即如果输入列表的任何元素没有转换为整数,我们将无法处理错误,因为我们不能在列表理解的语法中使用异常处理。
myList = ["1", "2", "3", "4", "5", "PFB"]
output_list = [int(element) for element in myList]
print("The input list is:", myList)
print("The output list is:", output_list)
输出。
Traceback (most recent call last):
File "/home/aditya1117/PycharmProjects/pythonProject/string1.py", line 2, in <module>
output_list = [int(element) for element in myList]
File "/home/aditya1117/PycharmProjects/pythonProject/string1.py", line 2, in <listcomp>
output_list = [int(element) for element in myList]
ValueError: invalid literal for int() with base 10: 'PFB'
使用map()函数将字符串列表转换成整数列表
map() 函数是用来将一个函数应用于一个可迭代对象的所有元素。map() 函数将一个函数作为其第一个输入参数,将一个可迭代对象作为第二个输入参数。它对输入参数中给出的函数与输入的可迭代对象的所有元素逐一执行,并返回一个带有输出值的可迭代对象。
为了将字符串列表转换为整数列表,我们将把 int() 函数作为第一个输入参数传给map() 函数,把字符串列表作为第二个输入参数。执行后,我们将得到一个整数列表,如下所示。
myList = ["1", "2", "3", "4", "5"]
output_list = list(map(int, myList))
print("The input list is:", myList)
print("The output list is:", output_list)
输出。
The input list is: ['1', '2', '3', '4', '5']
The output list is: [1, 2, 3, 4, 5]
如果我们使用这种方法,如果输入的列表中包含一个无法转换为整数的字符串,我们将无法避免或处理异常情况。
myList = ["1", "2", "3", "4", "5", "PFB"]
output_list = list(map(int, myList))
print("The input list is:", myList)
print("The output list is:", output_list)
输出。
Traceback (most recent call last):
File "/home/aditya1117/PycharmProjects/pythonProject/string1.py", line 2, in <module>
output_list = list(map(int, myList))
ValueError: invalid literal for int() with base 10: 'PFB'
结论
在这篇文章中,我们讨论了在 python 中将字符串列表转换为整数列表的三种方法。要了解更多关于字符串的信息,你可以阅读这篇关于python中字符串格式化的文章。你可能也会喜欢这篇关于python中的字典理解的文章。
The postList of Strings to List of Integers in Pythonappeared first onPythonForBeginners.com.