Skip to main content
 首页 » 编程设计

Python 组合字典中的项目

2025年05月04日21thcjp

假设

我有一本字典A

A={'a':{0:[1,2,3],1:[4,5,6]},'b':{0:['u','v','w'],1:['x','y','z']}} 

我想合并'a'和'b'中的所有元素

那个

[[1,2,3,'u','v','w'], 
 [1,2,3,'x','y','z'], 
 [4,5,6,'u','v','w'], 
 [4,5,6,'x','y','z']] 

我试过:

c=[] 
for k,v in A.items(): 
    for i,t in v.items(): 
        c.append(t+t) 

但它并没有给出预期的结果。

请您参考如下方法:

作为 Ajax1234 上面概述的 itertools 方法的替代方法,您可以仅使用列表理解来完成:

首先将您的字典转换为列表列表:

l_of_l = [list(i.values()) for i in A.values()] 

然后将每个子列表与另一个列表迭代组合:

result = [i+v for i in l_of_l[0] for v in l_of_l[1]] 

给你这个:

[[1, 2, 3, 'u', 'v', 'w'], [1, 2, 3, 'x', 'y', 'z'], [4, 5, 6, 'u', 'v', 'w'], [4, 5, 6, 'x', 'y', 'z']]