我从数据库中提取了一些列表:
print(liste)
[('VEST', 'MODEL-1', 'BEIGE', 'M'),
('VEST', 'MODEL-1', 'BEIGE', 'S'),
('JACKET', 'MOD-1', 'GREEN', 'S'),
('JACKET', 'MOD-1', 'GREEN', 'M'),
('JACKET', 'MOD-2', 'BLACK', 'L'),
('JACKET', 'MOD-2', 'BLACK', 'XL')]
现在我需要创建一个这样的dict:
mydict = {'VEST' : {'MODEL-1' : {'BEIGE' : ('S', 'M')}},
'JACKET' : ({'MOD-1' : {'GREEN' : ('S', 'M')}},
{'MOD-2' : {'BLACK' : ('L', 'XL')}})}
我将在类似json的tkinter中使用它。我需要选择这样的东西:
print(mydict['JACKET'][1]['MOD-2']['BLACK'][0])
L
# Or
print(mydict['VEST']['MODEL-1']['BEIGE'][0])
S
如何创建dict?我厌倦了尝试不同的方法。如果我能得到好的建议,我会很高兴的
您可以尝试@LevLevitsky演示的
defaultdict
,也可以尝试这种可行但复杂的方法:您所展示的内容不太一致,但我认为您可能会从使用^{} 中受益:
defaultdict
构造函数以“factory”函数作为参数,即不带参数调用的可调用函数来替换缺少的值。例如,defaultdict(list)
在您尝试访问它时,它将为每个丢失的键提供一个空列表。你知道吗在本例中,我创建了一个嵌套的
defaultdict
对象,它为每个键创建另一个defaultdict
。内部的还创建了一个defaultdict
,它还使用defaultdict
作为工厂。这反映了您的数据层次结构,并为丢失的键保存了多个检查或异常处理。你知道吗相关问题 更多 >
编程相关推荐