亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在字典python中刪除\ n

在字典python中刪除\ n

大話西游666 2022-07-05 18:51:42
我有一本字典,看起來像:{'values_changed': {'root': {'new_value': '{\n "quiz": {\n "sport": {\n "q1": {\n "question": "Which one is correct team name in NBA?",\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n "Golden Staxx000xxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n }\n },\n "maths": {\n "q1": {\n "questxxx000xxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n "12",\n "13"\n ],\n "answer": "12"\n },\n "qx0000xx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",\n "2",\n "3",\n "4"\n ],\n "answer": "4"\n }\n }\n }\n}', 'old_value': '{\n "quiz": {\n "sport": {\n "q1": {\n "question": "Which one is correct team name in NBA?",\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n "Golden Staxxxxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n }\n },\n "maths": {\n "q1": {\n "questxxxxxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n "12",\n "13"\n ],\n "answer": "12"\n },\n "qxxx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",\n "2",\n "3",\n "4"\n ],\n "answer": "4"\n }\n }\n }\n}', 'diff': '--- \n+++ \n@@ -6,7 +6,7 @@\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n- "Golden Staxxxxxte Warriros",\n+ "Golden Staxx000xxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n@@ -14,7 +14,7 @@\n },\n "maths": {\n "q1": {\n- "questxxxxxcion": "5 + 7 = ?",\n+ "questxxx000xxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n@@ -23,7 +23,7 @@\n ],\n "answer": "12"\n },\n- "qxxx2": {\n+ "qx0000xx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",'}}}我需要從中刪除 \n ;我試過 strip() 沒有工作。如何從字典中刪除 \n 以便我的字典如下所示。{'values_changed': {'root': {'new_value': '{ "quiz": {"sport": {  "q1": {  "question": "Which one is correct team name in NBA?",  "options":[  "New York Bulls",  "Los Angeles Kings",  "Golden Staxx000xxxte Warriros",  "Huston Rocket"  ],  "answer": "Huston Rocket"  }  },  "maths": {  "q1": {  "questxxx000xxcion": "5 + 7 = ?",  
查看完整描述

2 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

您可以使用遞歸來替換所有嵌套的字符串值,例如:


def remove_n(d):

    for k in d.keys():

        if type(d[k]) == str:

            d[k] = d[k].replace('\n', '')

        elif type(d[k]) == dict:

            remove_n(d[k])


d={'values_changed': {'root': {'new_value': '{\n "quiz": {\n "sport": {\n "q1": {\n "question": "Which one is correct team name in NBA?",\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n "Golden Staxx000xxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n }\n },\n "maths": {\n "q1": {\n "questxxx000xxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n "12",\n "13"\n ],\n "answer": "12"\n },\n "qx0000xx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",\n "2",\n "3",\n "4"\n ],\n "answer": "4"\n }\n }\n }\n}', 'old_value': '{\n "quiz": {\n "sport": {\n "q1": {\n "question": "Which one is correct team name in NBA?",\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n "Golden Staxxxxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n }\n },\n "maths": {\n "q1": {\n "questxxxxxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n "12",\n "13"\n ],\n "answer": "12"\n },\n "qxxx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",\n "2",\n "3",\n "4"\n ],\n "answer": "4"\n }\n }\n }\n}', 'diff': '--- \n+++ \n@@ -6,7 +6,7 @@\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n- "Golden Staxxxxxte Warriros",\n+ "Golden Staxx000xxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n@@ -14,7 +14,7 @@\n },\n "maths": {\n "q1": {\n- "questxxxxxcion": "5 + 7 = ?",\n+ "questxxx000xxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n@@ -23,7 +23,7 @@\n ],\n "answer": "12"\n },\n- "qxxx2": {\n+ "qx0000xx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",'}}}


remove_n(d)


查看完整回答
反對 回復 2022-07-05
?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

嘗試這個:

d = {'values_changed': {'root': {'new_value': '{\n "quiz": {\n "sport": {\n "q1": {\n "question": "Which one is correct team name in NBA?",\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n "Golden Staxx000xxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n }\n },\n "maths": {\n "q1": {\n "questxxx000xxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n "12",\n "13"\n ],\n "answer": "12"\n },\n "qx0000xx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",\n "2",\n "3",\n "4"\n ],\n "answer": "4"\n }\n }\n }\n}', 'old_value': '{\n "quiz": {\n "sport": {\n "q1": {\n "question": "Which one is correct team name in NBA?",\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n "Golden Staxxxxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n }\n },\n "maths": {\n "q1": {\n "questxxxxxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n "12",\n "13"\n ],\n "answer": "12"\n },\n "qxxx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",\n "2",\n "3",\n "4"\n ],\n "answer": "4"\n }\n }\n }\n}', 'diff': '--- \n+++ \n@@ -6,7 +6,7 @@\n "options": [\n "New York Bulls",\n "Los Angeles Kings",\n- "Golden Staxxxxxte Warriros",\n+ "Golden Staxx000xxxte Warriros",\n "Huston Rocket"\n ],\n "answer": "Huston Rocket"\n@@ -14,7 +14,7 @@\n },\n "maths": {\n "q1": {\n- "questxxxxxcion": "5 + 7 = ?",\n+ "questxxx000xxcion": "5 + 7 = ?",\n "options": [\n "10",\n "11",\n@@ -23,7 +23,7 @@\n ],\n "answer": "12"\n },\n- "qxxx2": {\n+ "qx0000xx2": {\n "question": "12 - 8 = ?",\n "options": [\n "1",'}}}

該值是一個字符串,如果您希望將其轉換為 dict/json,您可以:

d["values_changed"]["root"]["new_value"] = simplejson.loads(d["values_changed"]["root"]["new_value"])

你可以做類似的事情old_value


查看完整回答
反對 回復 2022-07-05
  • 2 回答
  • 0 關注
  • 276 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號