gpt4 book ai didi

python - 读取Python中一行中的第二个 float

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

我编写了一个简单的程序来从文件中读取一些 float :

line2 = f1.readline()
if "Totals" in line2:
cline = line2.strip()
csline= cline.split(" ")
zforcet = float(csline[7])
torquet = float(csline[8])

line2有问题的是:

Totals             7.911647E+03  -1.191758E+03   7.532665E+03   4.137034E+00

我的代码可以工作,但我的问题是有更明显的方法来编码吗?

我的意思是,对我来说,线上的第二个实数是 csline[7] 一点也不明显。我只能在经过尝试和错误并打印出 csline 的内容后才能执行此操作。我正在寻找一种直接在一行上“读取第二个 float ”的方法。

最佳答案

只需使用 split() 它会在每个空格上进行拆分,您将得到一个如下所示的列表:

["总计", "7.911647E+03", "-1.191758E+03", "7.532665E+03", "4.137034E+00"]

因此列表的第一个元素将是“7.911647E+03”

另请注意,默认情况下它将是一个字符串,您必须使用float函数将其设置为 float 。 (例如float("7.911647E+03"))

编辑:正如评论中突出显示的,如果您确实在寻找直接在一行上“读取第二个 float ”的方法,那么我会遍历分割线,并检查元素,并获取第二个 float 类型。

splitted_line = ["Totals", "7.911647E+03", "-1.191758E+03", "7.532665E+03", "4.137034E+00"]

counter = 1
for i in splitted_line:
try:
float(i)
counter += 1
if counter== 2:
print(i)
except ValueError:
pass

这将打印出7.911647E+03

关于python - 读取Python中一行中的第二个 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36743118/

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