python - 如何使用 str 函数和字符串索引/切片将字符串转换为浮点值?
问题描述
标题可能有点令人困惑,但我的意思是说我有一个字符串s=" text, 7.4,text , 7.2, text,7.6,"
,我想取出数字7.4 7.2 7.6
并将它们转换为浮点数。如何仅使用简单的 str 函数(例如find()
字符串索引/切片)来执行此操作?
我试图用它replace()
来删除所有的逗号和单词,但我遇到了数字没有间隔的问题:>>7.47.27.6
所以我不能转换为浮点数;我不确定如何解释这一点,因为我的字符串间距不一致。谢谢
解决方案
当项目无法转换为浮点数时,您可以使用此代码并捕获异常:
l = []
for item in s.split(','):
try:
l.append(float(item.strip()))
except ValueError:
continue
print(l)
#[7.4, 7.2, 7.6]
推荐阅读
- python - 工厂调用备用构造函数(类方法)
- symfony - 未调用身份验证事件
- mysql - 如果可能,编写单个 SQL 查询?
- php - 更改 Wordpress 主菜单链接上的悬停颜色
- python-3.x - 索引错误 - 对于文件中的行:line.split 为 [1] 和 [2]
- c++ - 这个最大功能体面吗?
- angularjs - 在拆分中使用多个分隔符
- java - 如何在spring boot中异步运行多个选择查询并收集所有结果
- c# - 升级到 Fall Creators 会导致 UWP 动画失败并显示“未检测到已安装的组件。未指定动画目标”。
- c++ - 模板类 - 启用 if