【问题标题】:Convert a list of strings to a list of numbers Python将字符串列表转换为数字列表 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))。

标签: python regex list


【解决方案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 占用。

【讨论】:

    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2016-11-09
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多