python - Python - 嵌套字典删除键并更新字典名称
问题描述
我有一个嵌套字典,其中包含一个列表,并且想要执行以下操作:
- 将字典名称更新为
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 也不起作用。请问有人可以让我知道我哪里出错了吗?
解决方案
这是涉及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']}}
推荐阅读
- java - Java 15 的密封类功能中的最终类和非密封类有什么区别?
- python - 将 python 模块导入 colab - ModuleNotFoundError
- python - 如何删除列表中的重复数字(Python)?
- python - 函数和随机化问题 - 初学者 python
- android - 如何在片段之间导航时消除白色闪烁/闪光?
- c++ - C++17 中条件启用的成员函数
- arrays - 如何从数组中的网页中提取所有 URL 并查看是否存在某个值
- excel - 如何找到通配符与VBA中至少一个字符匹配的文件夹名称
- javascript - 我应该做些什么来让它显示变量而不是值?
- laravel - 如何在点击时破坏 livewire 组件?