我有一个类型为{1.01787e+08|1.019e+08}
的基准面。我想将它分成两个值(分隔符" |")并将第一个值与第二个值进行比较。
我试图将其类型更改为列表或字符串,尝试索引值。然而,它一直在回归:
TypeError:|:' float'不支持的操作数类型并且'漂浮'
我真的很感激任何反馈。
答案 0 :(得分:3)
确保将数据视为字符串:Python解释器无法理解数据表示形式。
>>> data = "{1.01787e+08|1.019e+08}"
>>> result = [float(s) for s in data[1:-1].split("|")]
>>> result
[101787000.0, 101900000.0]
[1:-1]
从开始和结束修剪括号。 split
方法将两个数字分开,然后float
调用将它们从字符串转换为Python数字类型。