gpt4 book ai didi

python - 如何使用 numpy 将数组中的任意两个元素相加并生成矩阵?

转载 作者:太空狗 更新时间:2023-10-30 00:45:57 24 4
gpt4 key购买 nike

原生的python代码是这样的:

>>> a=[1,2,3,4,5,6]
>>> [[i+j for i in a] for j in a]
[[2, 3, 4, 5, 6, 7],
[3, 4, 5, 6, 7, 8],
[4, 5, 6, 7, 8, 9],
[5, 6, 7, 8, 9, 10],
[6, 7, 8, 9, 10, 11],
[7, 8, 9, 10, 11, 12]]

但是,由于数组非常大,我必须使用 numpy 来完成这项工作。有没有人知道如何在 numpy 中做同样的工作?

最佳答案

许多 NumPy 二元运算符都有一个 outer 方法,可用于形成乘法(或在本例中为加法)表的等价物:

In [260]: import numpy as np
In [255]: a = np.arange(1,7)

In [256]: a
Out[256]: array([1, 2, 3, 4, 5, 6])

In [259]: np.add.outer(a,a)
Out[259]:
array([[ 2, 3, 4, 5, 6, 7],
[ 3, 4, 5, 6, 7, 8],
[ 4, 5, 6, 7, 8, 9],
[ 5, 6, 7, 8, 9, 10],
[ 6, 7, 8, 9, 10, 11],
[ 7, 8, 9, 10, 11, 12]])

关于python - 如何使用 numpy 将数组中的任意两个元素相加并生成矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390497/

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