gpt4 book ai didi

python - 在 s 字符串中查找 float - Python

转载 作者:行者123 更新时间:2023-12-01 06:01:52 24 4
gpt4 key购买 nike

这个希望很简单,我有一个字符串“电压为 E=200V,电流为 I=4.5A”。我需要提取两个浮点值。我尝试使用 float() 函数(参数中包含 11 到 16 的子字符串),但出现错误。我意识到这可能不是一个好的编码,我正处于尝试学习 Python 的开始阶段。非常感谢任何帮助。

编辑:这是代码

I = 0.0     
if((currentString.find('I=')) != -1):
I = float(currentString[(currentString.find('I=')):(currentString.find('A'))])

再说一遍,我对这种语言很陌生,我知道它看起来很丑。

最佳答案

我不愿意提及正则表达式,因为它对于新手来说通常是一个令人困惑的工具,但为了您的使用和引用,这里有一个片段可以帮助您获取这些值。 IIRC 电压不太可能是 float(而不是 int?),因此此匹配操作稍后返回 int,但如果确实需要,可以是 float。

>>> import re
>>> regex = re.compile(r'.*?E=([\d.]+).*?I=([\d.]+)')
>>> re.match('voltage is E=200V and the current is I=4.5A')
>>> matches = regex.match('voltage is E=200V and the current is I=4.5A')
>>> int(matches.group(1))
200
>>> float(matches.group(2))
4.5

使用更简单的工具提取此类数字的方法是:

>>> s.find('E=')
11
>>> s.find('V', 11)
16
>>> s[11:16]
'E=200'
>>> s[11+2:16]
'200'
>>> int(s[11+2:16])
200

关于python - 在 s 字符串中查找 float - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10058933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com