将字符串列表转换为数字列表 Python

Posted

技术标签:

【中文标题】将字符串列表转换为数字列表 Python【英文标题】:Convert a list of strings to a list of numbers Python 【发布时间】:2014-08-06 17:41:19 【问题描述】:

我在 Python 3 中使用正则表达式来获取值列表:

lst = ['1.1' , '2.2' , '3.3']

相反,我想要一个如下的数字列表:

lst = [1.1 , 2.2 , 3.3]

【问题讨论】:

不要使用list作为变量名,因为它已经被内置函数使用了。 由于您使用的是 Python 3,您可以尝试:lst = list(map(float, lst)) 【参考方案1】:

试试python的map函数。它接受一个函数和一个可迭代对象,并将该函数应用于可迭代对象中的每个项目。

lst = list(map(float, lst))

在 python 3 中需要调用list,因为内置的 map 函数返回一个特殊的 map 对象而不是列表。 我还建议不要使用list 作为变量名,因为list 是python 中的内置函数。

【讨论】:

OP 正在使用 Python 3.x,其中 map 不再返回列表。你需要做的:lst = list(map(float, lst)). 好消息——我会将演员表添加到列表中。 我不会称之为“演员表”。这只是从一个可迭代的列表中创建一个列表。【参考方案2】:

您可以使用列表推导式。

lst = ['1.1' , '2.2' , '3.3']
lst = [float(x) for x in lst]

我在这里使用lst,因为list 已被内置list 占用。

【讨论】:

以上是关于将字符串列表转换为数字列表 Python的主要内容,如果未能解决你的问题,请参考以下文章

Python将列表中的字符串转换为数字

将列表中的数字字符串转换为数字 int

python把一个数字列表转化为一个数字

python怎么把列表转换成字符串?

python 中字符串list/列表元素转化为数值型/数字的方法分析

将列表项转换为字符串