【发布时间】:2021-11-20 15:34:10
【问题描述】:
我遇到了一个非常奇怪的问题:我得到了一个字符串列表,如下所示:
batch = ['{"SageMakerOutput":[{"label":"LABEL_8","score":0.9152628183364868},"inputs":"test"}',
'{"SageMakerOutput":[{"label":"LABEL_8","score":0.9769203066825867},"inputs":"Alles OK"}',
'{"SageMakerOutput":[{"label":"LABEL_8","score":0.9345938563346863},"inputs":"F"}']
在列表的每个条目中,我想删除单引号“'”,但不知何故我无法使用 .replace() 删除它:
for line in batch:
line = line.replace("'","")
不明白
【问题讨论】:
-
为什么不把它读成 json?
import json; json.loads(line)? -
line = line.replace("'","")不会改变batch。您只是在循环主体中为名称line分配了一个不同的字符串,该分配不会影响batch中的不可变字符串,并且在通过循环后丢失。 -
@GhostOps,请,don't suggest
eval,如果有合适的工具来处理这个问题。 -
教科书XY问题。
-
正如@GhostOps 提到的,您的字符串中没有
'可以替换。单引号是你的字符串。回答这个问题:"是字符串"abc"的一部分吗?您将如何检查"是否在该字符串中?您必须用引号将"括起来才能将其视为字符串,是吗?像'"' in "abc"这样的东西?你现在看到封闭的引号实际上不是字符串的一部分吗?