一维和二维阵列上的小圆点

2024-09-30 03:22:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解以下python代码中发生了什么:

import numpy as np

numberList1 = [1,2,3]
numberList2 = [[4,5,6],[7,8,9]]

result = np.dot(numberList2, numberList1)

# Converting iterator to set
resultSet = set(result)
print(resultSet)

输出:

{32, 50}

我可以看到它将numberList1中的每个元素乘以numberList2-so{1*4 + 2*5 + 3*6 = 32},{1*7+2*8+3*9 = 50}中每个数组中相同位置的元素。你知道吗

但是,如果我把数组改成:

numberList1 = [1,1,1]
numberList2 = [[2,2,2],[3,3,3]]

我看到的结果是

{9, 6}

这是错误的方法。。。你知道吗

如果我把它改成:

numberList1 = [1,1,1]
numberList2 = [[2,2,2],[2,2,2]]

我看到的结果就是

{6}

根据文件:

If a is an N-D array and b is a 1-D array, it is a sum product over the last axis of a and b.

作为一个数学家,我还不足以完全理解这是在告诉我什么,或者为什么输出的顺序有时会互换。你知道吗


Tags: and代码importnumpy元素isasnp
1条回答
网友
1楼 · 发布于 2024-09-30 03:22:26

^{}是一种无序的数据类型,它将删除重复的数据类型。^{}不返回迭代器(如代码中所述),而是返回^{},它将按照您期望的顺序:

import numpy as np

numberList1 = [1, 2, 3]
numberList2 = [[4, 5, 6], [7, 8, 9]]

result = np.dot(numberList2, numberList1)
# [32 50]
# <class 'numpy.ndarray'>

# numberList1 = [1, 1, 1]
# numberList2 = [[2, 2, 2], [3, 3, 3]]
# -> [6 9]

相关问题 更多 >

    热门问题