首页 > 解决方案 > 除非字典存在,否则如何初始化字典

问题描述

我想创建一个嵌套字典。而且我只会在字典不存在的情况下初始化它。

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)

我知道这段代码没有多大意义,但它是为了解释我自己。

我希望我的问题很清楚。

谢谢。

标签: python

解决方案


您可以尝试检查该键是否存在于您的字典中。

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)

推荐阅读