python - 在 Python 中创建两组列表的所有组合

标签 python list python-itertools

我正在尝试使用以下方法创建两组列表的所有组合:

x = [[1,2,3],[4,5,6]]
y = [['a','b','c'],['d','e','f']]

combos  = [[1,2,3,'a','b','c'],[4,5,6,'d','e','f'],[4,5,6,'a','b','c'],[4,5,6,'d','e','f']]

我认为 itertools 可能会有一些帮助,但不确定如何。谢谢

最佳答案

你可以使用productchain:

from itertools import product, chain
[list(chain(*i)) for i in product(x, y)]

#[[1, 2, 3, 'a', 'b', 'c'],
# [1, 2, 3, 'd', 'e', 'f'],
# [4, 5, 6, 'a', 'b', 'c'],
# [4, 5, 6, 'd', 'e', 'f']]

或者您可以使用列表理解:

[i + j for i in x for j in y]

#[[1, 2, 3, 'a', 'b', 'c'],
# [1, 2, 3, 'd', 'e', 'f'],
# [4, 5, 6, 'a', 'b', 'c'],
# [4, 5, 6, 'd', 'e', 'f']]

关于python - 在 Python 中创建两组列表的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42104444/

相关文章:

Python C 扩展 - 在每个纯 C 调用周围添加 Py_BEGIN_ALLOW_THREADS 有什么危害?

python - 按列表中第一项分组的列表列表中元素的平均值

python - 获取可迭代列表组合的优雅方法

Python 列表按日期分组

python - Python itertools.islice 的源代码在哪里?

python - Django ImportError 无法导入名称请求

python - OPENCV调整大小以获取图像平均值-与gimp不同的结果

python - 对 Reddit 进行 api 调用时出现 404 错误

c# - 如何从列表中删除相似的字符串?

list - 比较haskell中的字符串内容