python - 除非字典存在,否则如何初始化字典
问题描述
我想创建一个嵌套字典。而且我只会在字典不存在的情况下初始化它。
dict_main = {}
lis = [1, 2]
for a in range(2):
for i in range(2):
if not isinstance(dict_main[i], dict): #This line IS ONLY FOR DEMO, IT DOES NOT WORK
dict_main[i] = {}
dict_main[i]['a'] = lis[a]
else:
dict_main[i]['a'] = max(lis[b], dict_main[i]['a'])
print(dict_main)
我知道这段代码没有多大意义,但它是为了解释我自己。
我希望我的问题很清楚。
谢谢。
解决方案
您可以尝试检查该键是否存在于您的字典中。
dict_main = {}
lis = [1, 2]
for a in range(2):
for i in range(2):
if i not in dict: #Checks if the key is contain on the dict, and if not, create it.
dict_main[i] = {}
if 'a' not in dict_main[i]:
dict_main[i]['a'] = lis[a]
else:
dict_main[i]['a'] = max(lis[b], dict_main[i]['a'])
print(dict_main)
推荐阅读
- css - 预期出现“FUNCTION”或“IDENT”CSS 代码错误问题
- python - 如何有效地将两个大型 numpy 数组排序为数组数组?
- objective-c - 我需要使用 AFNetworking 库执行 Webservice POST 请求作为参数传递 Objective-C 的 json 文件
- python - Python记录多个模块每个模块记录到单独的文件
- python - 将聚合函数应用于分组后的python数据表列
- java - 在 Activity 启动时在我的 Android 应用程序中遇到 OutOfMemory 异常
- linux-kernel - 为什么我们需要 DMA 池?
- terraform - 如何使用在另一个资源的秘密中创建的令牌?
- ios - 如何在 SwiftUI 中使用 ViewBuilder 将内容限制为自定义视图/组件上的 Text()
- javascript - 为什么在 JavaScript 对象中添加数字会默认对其进行排序?