作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解析从 txt 文件中读取的字符串。该行是:
(0 ,3) :5.0|(1 ,3) : -5.0
我需要先得到 (0,3) 然后是 5,用 "|"分割后我需要得到 (1,3) 和 -5
最后,我应该有 2 个单独保存值的列表变量。第一个列表应该有:(0,3)和(1,3)第二个列表应该包含:5,-5
我尝试过的:
goal_states, their_reward = lines[5].split("|"), lines[5].rsplit(':', 1)
我得到的是:['(0,3):5.0|(1,3)', '-5.0']
提前致谢
P.S:我不应该使用任何导入语句。
最佳答案
希望这就是你想要的。
s = "(0 ,3) :5.0|(1 ,3) : -5.0"
def get_result(s: str) -> tuple:
goals = []
rewards = []
for pair in s.split("|"):
goal, reward = pair.split(":")
goals.append(eval(goal.strip()))
rewards.append(float(reward.strip()))
return (goals, rewards)
print(get_result(s))
关于python - 如何在python中多次解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70752117/
我是一名优秀的程序员,十分优秀!