python - 获取嵌套字典中的列表

标签 python dictionary nested

我正在为嵌套循环而苦苦挣扎..

我有一个字典,里面嵌套了其他字典,比如:

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/

相关文章:

python - 为什么 find_objects 会给出一堆无,然后是整个图像的范围?

python - 神经网络训练验证损失的解释

c++ - 派生类映射

javascript - Nodejs,如何获取嵌套json对象中的值,中间键未知

python - 循环遍历嵌套字典值以填充第二个字典 - python

python - 使用 pyhive 和 kerberos 票证连接到 Kerberos 化的 hadoop 集群

python - Python 中的每个文件都被视为一个模块吗?

ios - 如何使用 SearchBar TableView 在字典中搜索对象?

c++ - 如果其键存在,则访问映射的值 C++

asp.net - 访问母版页中的祖 parent 内容占位符