Python 如题所示,如何获取举例的数据结构?

Python 如题所示,如何获取举例的数据结构?

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,data2是举例的数据,result 是先要获取的数据

以data1中的编号C值去data2中查找,有几个编号A就返回几个结果,前提是编号C的值是相同的

有什么方法能实现吗 谢谢大佬了


回答:

奇怪的结构。

能不能改成这样呢:

python3">data2 = {

'789789789': ['AA', 'BB', 'DD'] # 改成 {'AA', 'BB', 'DD'},速度可以更快些

}

# 想实现的数据结构

result = {

'123456789': ['AA', 'BB'],

'012345678': ['DD'],

}

如果可以,代码能简洁些:

python3">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)

以上是 Python 如题所示,如何获取举例的数据结构? 的全部内容, 来源链接: utcz.com/p/938688.html

回到顶部