2024-09-24 06:21:33 发布
网友
我写了下面的代码来分割一行,我要做的是得到1.802e+05和1.739e+04。我想我可以用空格分开这条线,然后我可以得到这些值,但是到目前为止我得到的只有字母H。有人能告诉我我的bug在哪里吗?
line = 'Htin 1.802e+05 [J kg^-1] Htout 1.739e+04 [J kg^-1]' line.split(' ') print line[0]
就个人而言,我会跳过split而直接使用re解决方案——例如,如果你想提取的每个数字都是指数表示法
split
re
numstrings = re.findall(r'\d\.\d+e[+-]\d+', line)
会有用的。只需根据您想要提取的数字形式调整RE模式!在
Split不改变行;它返回一个字符串列表。但即使有,第[0]行也不会给你一个数字。在
line.split()返回未存储在任何位置的结果。所以,这条线没有效果。 在下一行,line仍然是字符串,所以第[0]行是H
line.split()
line
line = 'Htin 1.802e+05 [J kg^-1] Htout 1.739e+04 [J kg^-1]' temp = line.split(' ') print temp[0]
就个人而言,我会跳过
split
而直接使用re
解决方案——例如,如果你想提取的每个数字都是指数表示法会有用的。只需根据您想要提取的数字形式调整RE模式!在
Split不改变行;它返回一个字符串列表。但即使有,第[0]行也不会给你一个数字。在
line.split()
返回未存储在任何位置的结果。所以,这条线没有效果。 在下一行,line
仍然是字符串,所以第[0]行是Hline = 'Htin 1.802e+05 [J kg^-1] Htout 1.739e+04 [J kg^-1]' temp = line.split(' ') print temp[0]
相关问题 更多 >
编程相关推荐