我有一個包含串列的嵌套字典,并希望執行以下操作:
- 將字典名稱更新為
A,B,C,D而不是dict1,dict2 key3從字典中洗掉它的值
這是當前的輸入示例:
{'dict_1': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3'], 'key3': ['value1', 'value2', 'value3']} 'dict_2': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3'], 'key3': ['value1', 'value2', 'value3']}}
期望的輸出:
{'A': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3']} 'B': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3']}}
我曾嘗試使用 ascii 小寫字母來更改字母,但這不起作用。要洗掉 key3,我嘗試使用 del 和 pop 也不起作用。請有人讓我知道我哪里出錯了嗎?
uj5u.com熱心網友回復:
這是涉及ascii values和的解決方案.pop()。
嘗試這個 :
nested_dict = {
'dict_1': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3'], 'key3': ['value1', 'value2', 'value3']},
'dict_2': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3'], 'key3': ['value1', 'value2', 'value3']}}
key_name = 'A'
new_nested_dict = {}
for k, v in nested_dict.items():
v.pop('key3', None)
new_nested_dict[key_name] = v
key_name = chr(ord(key_name) 1)
print(new_nested_dict)
輸出:
{'A': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3']}, 'B': {'key1': ['data1', 'data2', 'data3'], 'key2': ['1', '2', '3']}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/340121.html
上一篇:Python雙端佇列追加問題
