Python:劈开一根弦

2024-09-24 06:21:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了下面的代码来分割一行,我要做的是得到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]

Tags: 代码字母linebugsplit空格printkg
3条回答

就个人而言,我会跳过split而直接使用re解决方案——例如,如果你想提取的每个数字都是指数表示法

numstrings = re.findall(r'\d\.\d+e[+-]\d+', line)

会有用的。只需根据您想要提取的数字形式调整RE模式!在

Split不改变行;它返回一个字符串列表。但即使有,第[0]行也不会给你一个数字。在

line.split()返回未存储在任何位置的结果。所以,这条线没有效果。 在下一行,line仍然是字符串,所以第[0]行是H

line = 'Htin 1.802e+05 [J kg^-1] Htout 1.739e+04 [J kg^-1]' temp = line.split(' ') print temp[0]

相关问题 更多 >