gpt4 book ai didi

python - 使用递归组合字典中的值

转载 作者:行者123 更新时间:2023-11-28 19:46:53 24 4
gpt4 key购买 nike

我有一个包含不同长度列表的字典,我想要一个通用算法来生成列表中所有元素的组合。下面给出了一段示例代码:

bob = {'a':['a','b','c'],     
'b':[0],
'c':['x','y']}


for i in bob['a']:
for j in bob['b']:
for k in bob['c']:
print("%s - %s - %s"%(str(i),str(j),str(k)))

这是特定字典“bob”所需的输出,它会产生输出:

a - 0 - x
a - 0 - y
b - 0 - x
b - 0 - y
c - 0 - x
c - 0 - y

不过,我想要一个通用的算法。我可以使用递归来概括它,以便它可以处理具有任意数量键的字典吗?

额外信息:与键对应的值将始终是一维列表

最佳答案

一般的算法是itertools.product :

>>> print(*itertools.product(*bob.values()), sep='\n')
('a', 0, 'x')
('a', 0, 'y')
('b', 0, 'x')
('b', 0, 'y')
('c', 0, 'x')
('c', 0, 'y')

关于python - 使用递归组合字典中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49862319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com