我试图将两个嵌套字典的值分配给彼此。例如,如果我们假设父母和孩子,然后孙子如何分配给相应的孩子。(父项是键,值是子项,然后子项是键,值是孙项)
我试图从sqlite数据库导入大型数据集,然后根据我需要的父关系和子关系,将它们相应地分组到字典中。这是为了创建嵌套字典的字典来填充qmenu,其中输入必须保持字典格式。我不熟悉如何通过映射或递归来提高效率
我当前的代码按我所希望的方式工作,但是有没有办法使它更高效或更递归
# DATA
A = ['item0','item1']
B = [['item00','item01','item02'],['item11','item12']]
C = [['item000'],['item010','item011'],['item020'],['item110','item111'],['item120']]
# FLATTEN B
B_ls = []
for i in range(len(C)):
B_ls = [item for sublist in B for item in sublist]
# INITAIATE DICTIONARIES
master = {}
parent = {}
child = {}
# INITIATE CELL CONTENT COUNTER
skipper = 0
# CREATE NESTED DICITIONARIES
for j in range(len(A)):
child = {}
for i in range(len(B)):
tempD1 = {B_ls[i+skipper]:C[i+skipper]}
child.update(tempD1)
parent = {A[j]:child}
master.update(parent)
skipper += len(B[j])
# CHECK RESULTS
print(master)
这里有一种使用嵌套字典理解的方法-
这个想法是通过外循环中的
zipping
和B
来构建父子结构,因为B
中的父keys
和子列表或子列表一样多现在,这些子项中的每个子项都应该包含} 并在每次要在内部字典中设置新的子项时检索其
value
中包含的子列表,因此我们可以创建^{next
项:相关问题 更多 >
编程相关推荐