小编oza*_*gon的帖子

在dict中获取列表的产品,同时保留相同的键

我有以下词典:

my_dict = {'A': [1, 2], 'B': [1, 4]}

我想最终得到一个像这样的dicts列表:

[
    {'A': 1, 'B': 1},
    {'A': 1, 'B': 4},
    {'A': 2, 'B': 1},
    {'A': 2, 'B': 4}
]
Run Code Online (Sandbox Code Playgroud)

所以,我是在使用dict列表的产品,表达为使用与传入字典相同的键的dicts列表.

我得到的最接近的是:

my_dict = {'A': [1, 2], 'B': [1, 4]}
it = []
for k in my_dict.keys():
    current = my_dict.pop(k)
    for i in current:
        it.append({k2: i2 for k2, i2 in my_dict.iteritems()})
        it[-1].update({k: i})
Run Code Online (Sandbox Code Playgroud)

除了看起来很可怕之外,它不能给我我想要的东西:

[
    {'A': 1, 'B': [1, 4]}, 
    {'A': 2, 'B': [1, 4]}, 
    {'B': 1}, 
    {'B': 4}
]
Run Code Online (Sandbox Code Playgroud)

如果有人想解决一个谜语,我很乐意看到你如何接近它.

python dictionary product list

3
推荐指数
1
解决办法
502
查看次数

标签 统计

dictionary ×1

list ×1

product ×1

python ×1