php中文网

如何从两个数据结构中提取特定信息并将其组合成新的数据结构?

php中文网

如何从给定的数据结构中提取所需信息

假设有如下两个数据结构:

data1 = [
    {'编号a': '123456789', '编号b': '1234', '编号c': '789789789', '编号d': 'aa'},
    {'编号a': '123456789', '编号b': '2345', '编号c': '789789789', '编号d': 'bb'},
    {'编号a': '123456789', '编号b': '3456', '编号c': '789789789', '编号d': 'cc'},
    {'编号a': '012345678', '编号b': '4567', '编号c': '789789789', '编号d': 'dd'},
    {'编号a': '012345678', '编号b': '5678', '编号c': '789789789', '编号d': 'ee'},
    {'编号a': '012345678', '编号b': '6789', '编号c': '678678678', '编号d': 'ff'},
]

data2 = {
    '789789789': ['aa', 'bb', 'dd']
}

目标是获取以下数据结构:

result = [
    {'123456789': ['aa', 'bb']},
    {'012345678': ['dd']},
]

其中,以 data1 中的 编号c 值在 data2 中查找,如果存在,则返回对应 编号a 的值列表。

以下是实现此目标的 python 代码:

result = {}

for i in data1:
    A, C, D = i['编号A'], i['编号C'], i['编号D']
    if C in data2 and D in data2[C]:
        result.setdefault(A, []).append(D)

以上就是如何从两个数据结构中提取特定信息并将其组合成新的数据结构?的详细内容,更多请关注php中文网其它相关文章!