python - 从 2 个 numpy 向量生成数字对数组

标签 python arrays numpy combinations

<分区>

Numpy 中是否有一种简单的方法可以在不循环的情况下从 2 个一维 numpy 数组(向量)生成数字对数组?

输入:

a = [1, 2, 3]
b = [4, 5, 6]

输出:

c = [(1,4), (1,5), (1,6), (2,4), (3,5), (2,6), (3,4), (3,5), (3,6)]

我想知道是否有一个函数可以做类似的事情:

c = []
for i in range(len(a)):
    for j in range(len(b)):
        c.append((a[i], b[j]))

最佳答案

您可以使用 itertools.product为此:

from itertools import product

c = list(product(a, b))

这给出:

c == [(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]

关于python - 从 2 个 numpy 向量生成数字对数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21651980/

相关文章:

python - 对数据框中第二列的每个值计算一列的值

Python - 多行打印图像无法正确显示问题

python - 将多个构建的 BOM(零件列表)保存到 Python 中的文件中

python - 在 NumPy 数组中查找重复序列的索引

python - 如何将此 SQL 转换为 Django 查询?

python - 列表数据消失

python - 使用 Pandas 按不同列分组后,如何使用时间和数据列查找连续行的变化率?

python - 如何创建一个包含随机数列的数据框,每个列都有不同的范围?

javascript - 用静态字符串替换数组中的最后一个元素

PHP 通知 : Undefined index when looping array