gpt4 book ai didi

python - 获取字典中元素的组合

转载 作者:行者123 更新时间:2023-11-30 23:30:59 24 4
gpt4 key购买 nike

我有一本看起来像这样的字典:

a: [a]
b: [b, c]
c: [d, e, f]

每个列表中键的数量和元素的数量事先是未知的。

我希望能够获得每个列表中元素的所有可能组合。上述字典的输出将是这样的:

[a, d, b]
[a, e, c]
[a, f, b]
[a, d, c]
[a, e, b]
[a, f, c]

列表中的列表和列表中的元素的顺序(拗口)并不重要。

我尝试了一个已发布答案的解决方案,但我很好奇是否有更有效的解决方案。

编辑:字典中的每个键只能取出一个元素。按照上面的示例,您不能使用 [b d e],因为 d e 来自 c

最佳答案

嗯。我理解了问题并纠正了我的答案。

使用list comprehension创建值列表

>>> d = {"a": [1], "b": [2,3], "c": [4,5,6]}
>>> values = [v for k,v in d.items()]
>>> values
[[1], [4, 5, 6], [2, 3]]

然后使用 itertools.product这相当于 for 循环。

>>> for i in itertools.product(*l):
... print i
...
(1, 4, 2)
(1, 4, 3)
(1, 5, 2)
(1, 5, 3)
(1, 6, 2)
(1, 6, 3)

关于python - 获取字典中元素的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20211031/

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