Python将列表中所有字符串转换为整数

在Python中可以很方便的进行类型转换。在开发中将整个字符串列表转换成整数列表也十分常见,下面介绍处理该问题的几种方式。

方法1:使用eval()

Python eval()函数用来执行一个字符串表达式,并返回表达式的值。如果表达式是用int表示,则会将参数转换为整数。

>>> lis = ['1','-4','3','-6','7']
>>> res = [eval(i) for i in lis]
>>> res
[1, -4, 3, -6, 7]
>>> lis
['1', '-4', '3', '-6', '7']
Python将列表中所有字符串转换为整数
Python eval()

方法2:朴素方法

在执行此类操作时,这是令所有程序员印象深刻的通用方法。只需遍历整个列表并通过类型转换将列表中的每个字符串转换为 int。 

>>> test_list = ['1','4','3','6','7']
>>> for i in range(0, len(test_list)):
...     test_list[i] = int(test_list[i])
...
>>> test_list
[1, 4, 3, 6, 7]
Python将列表中所有字符串转换为整数
朴素方法

方法3:使用列表推导式

这只是上述方法的一种复制,只是使用列表推导式实现的,这是开发人员一直在寻找的一种速记。它节省了编写解决方案的时间和复杂性。 

>>> test_list = ['1','4','3','6','7']
>>> test_list = [ int(i) for i in test_list ]
>>> test_list
[1, 4, 3, 6, 7]
Python将列表中所有字符串转换为整数
列表推导式

方法4:使用map()

这是执行此特定任务的最优雅、pythonic 和推荐的方法。此功能专为此类任务而设计,应该用于执行它们。

>>> test_list = ['1','4','3','6','7']
>>> test_list = list(map(int,test_list))
>>> test_list
[1, 4, 3, 6, 7]
Python将列表中所有字符串转换为整数
Python map

方法5:具有混合整数表示的字符串列表

在这里,我们首先将每个字符串先转换为浮点数,然后使用 round() 函数将其转换为整数,否则会报错。

>>> lis = ['1.1','4','3.5','6.7','7.2']
>>> res = [ round(float(i))  for i in lis ]
>>> res
[1, 4, 4, 7, 7]
Python将列表中所有字符串转换为整数
Python float

本文根据converting-all-strings-in-list-to-integers翻译而来,不代表烟海拾贝立场,如若转载,请注明出处:https://somirror.com/3326.html

(0)
上一篇 2022-12-16 14:34
下一篇 2022-12-16 21:08

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注