在Python中初始化矩阵最简单的方法是什么?

2024-10-01 22:27:00 发布

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

我用一个简单的多项式算法在二维矩阵中工作:

for i in range(len(content1)):
    for j in range(len(content2)):
        if content1[i]==content2[j]:
            matrix[i][j]=1
        else:
            matrix[i][j]=0

这段代码本身不编译的原因很简单。点阵未初始化。那么,最简单的方法是什么呢?你知道吗

另外,我如何在这样一行代码中实现上面使用的相同逻辑:

matrix = [[0 for x in range(len(content1))] for x in range(len(content2))]


Tags: 方法代码in算法forlenifrange
2条回答

ij替换x,然后用(1 if content1[i]==content2[j] else 0)替换0。你知道吗

首先,在第一段代码中使用content1作为外部索引,因此matric也应该在外部使用content1进行初始化:

matrix = [[0 for x in range(len(content2))] for x in range(len(content1))]

是的,你可以用一行来做,就像另一个答案提到的:

matrix = [[1 if i == j else 0 for j in content2] for i in content1]

相关问题 更多 >

    热门问题