将字符串列表转换为数字列表 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的主要内容,如果未能解决你的问题,请参考以下文章