无法从字符串中删除单引号
Cannot remove single quotes from string
我遇到了一个非常奇怪的问题:我得到了一个字符串列表,如下所示:
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("'","")
我不明白
好吧,从您和其他 post 的评论来看,似乎您拥有的是字符串,而您想要的是字典。我从另一个 post 复制了你的数据,因为你的数据在这个 post 中不正确(你在这个 post 中缺少 ]
)。
解决方案
import json
batch = ['{"SageMakerOutput":[{"label":"LABEL_8","score":0.9152628183364868}],"inputs":"test"}',
'{"SageMakerOutput":[{"label":"LABEL_8","score":0.9769203066825867}],"inputs":"Alles OK"}']
batch = [json.loads(b) for b in batch]
输出:
[{'SageMakerOutput': [{'label': 'LABEL_8', 'score': 0.9152628183364868}],
'inputs': 'test'},
{'SageMakerOutput': [{'label': 'LABEL_8', 'score': 0.9769203066825867}],
'inputs': 'Alles OK'}]
说明
batch
中的对象就是所谓的 JSON
对象。它们只是具有非常特定结构的字符串。它们类似于 Python 的 dict
类型,有一些非常细微的差异,并且可以很容易地使用 Python 的内置-转换为 Python dict
对象在 json
模块中,它会自动翻译 JSON 和 Python 之间的细微差异(例如,JSON 字符串中的布尔值是 true
和 false
,但在 Python 中它们需要是 True
和 False
).
备注
给 OP 和未来读者的建议:这个 post 是 XY problem 的经典案例。将来,请尝试更清楚地了解您的最终目标。你在 post 中的问题实际上无法回答,因为你不可能按照你的要求去做。
我遇到了一个非常奇怪的问题:我得到了一个字符串列表,如下所示:
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("'","")
我不明白
好吧,从您和其他 post 的评论来看,似乎您拥有的是字符串,而您想要的是字典。我从另一个 post 复制了你的数据,因为你的数据在这个 post 中不正确(你在这个 post 中缺少 ]
)。
解决方案
import json
batch = ['{"SageMakerOutput":[{"label":"LABEL_8","score":0.9152628183364868}],"inputs":"test"}',
'{"SageMakerOutput":[{"label":"LABEL_8","score":0.9769203066825867}],"inputs":"Alles OK"}']
batch = [json.loads(b) for b in batch]
输出:
[{'SageMakerOutput': [{'label': 'LABEL_8', 'score': 0.9152628183364868}],
'inputs': 'test'},
{'SageMakerOutput': [{'label': 'LABEL_8', 'score': 0.9769203066825867}],
'inputs': 'Alles OK'}]
说明
batch
中的对象就是所谓的 JSON
对象。它们只是具有非常特定结构的字符串。它们类似于 Python 的 dict
类型,有一些非常细微的差异,并且可以很容易地使用 Python 的内置-转换为 Python dict
对象在 json
模块中,它会自动翻译 JSON 和 Python 之间的细微差异(例如,JSON 字符串中的布尔值是 true
和 false
,但在 Python 中它们需要是 True
和 False
).
备注
给 OP 和未来读者的建议:这个 post 是 XY problem 的经典案例。将来,请尝试更清楚地了解您的最终目标。你在 post 中的问题实际上无法回答,因为你不可能按照你的要求去做。