用一个lin中的函数填充numpy 2D数组

2024-04-20 12:13:04 发布

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

我想填补一个二维numpy数组有效的基础上的一个操作

我想在一行中完成以下内容

1DArray = ['A','B','C','D']
N = len(1DArray)
2DArray = np.zeros((N,N))
for i in range(N):
    for j in range (i, N):
        2DArray[i,j] = function(1DArray[i], 1DArray[j])

Tags: innumpyforlennpzerosrangefunction
2条回答
2DArray = [[0 for _ in range(i)] + [function(1DArray[i], 1DArray[j]) for j in range(i,N)] for i in range (N)]

[0 for _ in range(i)]将0添加到从未受影响的位置。您可以删除它以获得长度为N-j的列表

你可以用^{}

import numpy as np

i=np.triu_indices(N)
2DArray[i]=[function(1DArray[x],1DArray[y]) for x,y in zip(i[0],i[1])]

相关问题 更多 >