python - 从两个数组创建所有可能的组合

标签 python arrays iterable

我正在尝试想出一种有效的方法来解决以下问题:

给定任意两个数组 'a' 和 'b' 我想创建所有组合列表,每个组合应包含来自 'a' 的一个元素和来自 'b' 的一个元素的元组

例如:

a = ['p', 'q'], b = [True, False]

输出应该是这样的:

[{'p': False, 'q': False}, {'p': False, 'q': True}, {'p': True, 'q': 
False}, {'p': True, 'q': True}]

最佳答案

嘿,你可以使用 itertools.product使用 repeat=2

这是一个构建字典列表的工作示例

[{k1:v1, k2:v2} for k1,v1,k2,v2 in itertools.product(a,b,repeat=2) if k1 != k2]

关于python - 从两个数组创建所有可能的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58689809/

相关文章:

python - int() 对象如何在 python2 中使用没有 __eq__() 方法的 "=="运算符?

c - 如何在 C 中通过增加或减少其元素的频率来调整值数组的大小

python - 铁蟒 : How to append string to bytearray

arrays - 给定数组 A,计算 B s.t B[i] 存储距离 A[i] 左侧最近的小于 A[i] 的元素

python - tqdm:提取已过去的时间+剩余时间?

python - 如何以子集长度为条件迭代列表的所有分区

python - Django 模型 - 字段依赖

python - execsql 1.72 无法安装 Python

javascript - 将可迭代元素或不可迭代元素扩展为数组而不检查元素 .length

python - Python 中的特殊 ID,想在菜单中创建帮助部分