无法将列表文字转换为字符串

2024-04-19 21:58:19 发布

您现在位置:Python中文网/ 问答频道 /正文

input = "[{'parentId': '3660050', 'id': '3813419', 'name': 'Diversity Report', 'parentName': 'Uber Crises'}, {'parentId': '3447845', 'id': '3447846', 'name': 'High', 'parentName': 'QA Intensity'}, {'parentId': '3446939', 'id': '3446940', 'name': 'High', 'parentName': 'Intensity'}, {'parentId': '3447834', 'id': '3447842', 'name': 'Disgust', 'parentName': 'QA Emotion'}, {'parentId': '3447822', 'id': '3447823', 'name': 'Negative', 'parentName': 'QA Sentiment'}, {'parentId': '3446760', 'id': '3446763', 'name': 'Neutral', 'parentName': 'Original Sentiment'}, {'parentId': '3446944', 'id': '3446947', 'name': 'Negative', 'parentName': 'Aggregated_Sentiment'}, {'parentId': '3446936', 'id': '3446938', 'name': 'Not Spam', 'parentName': 'Spam'}, {'parentId': '3446924', 'id': '3446932', 'name': 'Disgust', 'parentName': 'Emotion'}, {'parentId': '3720161', 'id': '3720163', 'name': 'Uber', 'parentName': 'Uber & Lyft'}, {'parentId': '3660050', 'id': '3723667', 'name': ""Waymo vs. Uber's Otto"", 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3723665', 'name': 'Uber Sexism', 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3660077', 'name': '#DeleteUber', 'parentName': 'Uber Crises'}]"

ast.literal_eval(input)eval(input)仍然给我一个字符串类型。你知道吗

目标是得到一个字典列表,我可以反复浏览。你知道吗


Tags: nameidinputspamqahighemotionsentiment
1条回答
网友
1楼 · 发布于 2024-04-19 21:58:19
input = """[{'parentId': '3660050', 'id': '3813419', 'name': 'Diversity Report', 'parentName': 'Uber Crises'}, {'parentId': '3447845', 'id': '3447846', 'name': 'High', 'parentName': 'QA Intensity'}, {'parentId': '3446939', 'id': '3446940', 'name': 'High', 'parentName': 'Intensity'}, {'parentId': '3447834', 'id': '3447842', 'name': 'Disgust', 'parentName': 'QA Emotion'}, {'parentId': '3447822', 'id': '3447823', 'name': 'Negative', 'parentName': 'QA Sentiment'}, {'parentId': '3446760', 'id': '3446763', 'name': 'Neutral', 'parentName': 'Original Sentiment'}, {'parentId': '3446944', 'id': '3446947', 'name': 'Negative', 'parentName': 'Aggregated_Sentiment'}, {'parentId': '3446936', 'id': '3446938', 'name': 'Not Spam', 'parentName': 'Spam'}, {'parentId': '3446924', 'id': '3446932', 'name': 'Disgust', 'parentName': 'Emotion'}, {'parentId': '3720161', 'id': '3720163', 'name': 'Uber', 'parentName': 'Uber & Lyft'}, {'parentId': '3660050', 'id': '3723667', 'name': "Waymo vs. Uber's Otto", 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3723665', 'name': 'Uber Sexism', 'parentName': 'Uber Crises'}, {'parentId': '3660050', 'id': '3660077', 'name': '#DeleteUber', 'parentName': 'Uber Crises'}]"""

上面的代码应该在eval调用下生成正确的结果,同时在其中一个字符串中保留撇号字符。这个错误特别是在带撇号的那一行。不管出于什么原因,它都无法正确地使用转义字符进行计算,它很可能试图创建一个字符串。这个解决方案之所以有效,是因为我使用了不同类型的字符串,而不是转义字符。另外,在"Waymo vs. Uber's Otto"周围应该只有一个双引号,如图所示。您可能认为可以添加其他字符串,因为字符串没有正确高亮显示,但这样做的目的是告诉您犯了错误。你知道吗

相关问题 更多 >