在 Python 中,如何将列表中的所有项目转换为浮点数?

新手上路,请多包涵

我有一个脚本,它读取一个文本文件,将十进制数字作为字符串从中提取出来,并将它们放入一个列表中。

所以我有这个列表:

 my_list = ['0.49', '0.54', '0.54', '0.55', '0.55', '0.54', '0.55', '0.55', '0.54']

如何将列表中的每个值从字符串转换为浮点数?

我试过了:

 for item in my_list:
    float(item)

但这似乎对我不起作用。

原文由 snk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 308
2 个回答
[float(i) for i in lst]

准确地说,它创建了一个带有浮点值的新列表。与 map 方法不同,它将在 py3k 中工作。

原文由 SilentGhost 发布,翻译遵循 CC BY-SA 2.5 许可协议

map(float, mylist) 应该这样做。

(在 Python 3 中,map 不再返回一个列表对象,所以如果你想要一个新列表而不仅仅是要迭代的东西,你要么需要 list(map(float, mylist) - 或者使用 SilentGhost 的答案,它可以说是更 pythonic。)

原文由 Tim Pietzcker 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题