我正在为嵌套循环而苦苦挣扎..
我有一个字典,里面嵌套了其他字典,比如:
dd = {}
dd[1] = {'layer1' : 'A', 'FieldA':[[1,2,3], [99,22,13]], 'col': '#ff310021'}
dd[2] = {'layer2' : 'B', 'FieldB':[[4,5,6], [10,33,22]], 'col': '#ff310011'}
dd[3] = {'layer3' : 'C', 'FieldC':[[11,2,33], [2,5,1]], 'col': '#ff312221'}
然后我有一个必须填充的对象,对于每个 dd 键(在示例中为 3 次)使用嵌套字典的值。
这是一个将单个值传递给对象的示例:
Plot(
x = [1,2,3],
y = [4,5,6],
col = '#ff312221'
)
该对象创建了另一个将在另一个上下文中使用的类。
然而,每次对该对象的调用都必须附加到一个列表中。
我想做的是遍历字典键以自动填充对象并将结果附加到列表中。
因此,对于示例数据,第一个对象应该像这样:
l = []
l.append(Plot(
x = [1,2,3],
y = [99,22,13],
col = '#ff310021'
))
有人有一些提示吗?
最佳答案
试试这个,
dd = {}
dd[1] = {'layer1' : 'A', 'FieldA':[[1,2,3], [99,22,13]], 'col': '#ff310021'}
dd[2] = {'layer2' : 'B', 'FieldB':[[4,5,6], [10,33,22]], 'col': '#ff310011'}
dd[3] = {'layer3' : 'C', 'FieldC':[[11,2,33], [2,5,1]], 'col': '#ff312221'}
l = []
for key in dd:
x, y = dd[key].get('FieldA', None) or dd[key].get('FieldB', None) or dd[key].get('FieldC', None)
col = dd[key]['col']
l.append(Plot(x=x, y=y, col=col))
关于python - 获取嵌套字典中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37354338/