我想用嵌套字典中的空字符串替換 None 。test={ "order":1234, "status":"delivered", "items":[ { "name":"sample1", "code":"ASU123", "unit":None } ], "product":{"name":None,"code":None} }我想用空字符串替換 None 并將字典的轉換存儲到另一個變量(如 test1)中。以下代碼不允許我將其存儲在另一個變量中。def replace_none(test_dict): # checking for dictionary and replacing if None if isinstance(test_dict, dict): for key in test_dict: if test_dict[key] is None: test_dict[key] = '' else: replace_none(test_dict[key]) # checking for list, and testing for each value elif isinstance(test_dict, list): for val in test_dict: replace_none(val)
1 回答

慕仙森
TA貢獻1827條經驗 獲得超8個贊
您可以首先進行深度復制,然后對復制的字典執行您的功能:
import copy
b = copy.deepcopy(test)
replace_none(b)
print(test)
print(b)
輸出:
{'order': 1234, 'status': 'delivered', 'items': [{'name': 'sample1', 'code': 'ASU123', 'unit': None}], 'product': {'name': None, 'code': None}}
{'order': 1234, 'status': 'delivered', 'items': [{'name': 'sample1', 'code': 'ASU123', 'unit': ''}], 'product': {'name': '', 'code': ''}}
添加回答
舉報
0/150
提交
取消