首页 > 解决方案 > 我正在尝试制作一个由一和零组成的矩阵,但我只得到一个

问题描述

我想将大小为 n 的 [['name', label], ..., ['nameN', labelN]] 形式的列表转换为带有零的 nxn 矩阵,除了某些位置的标签是相同的。基本上我想最终制作一个 .csv 文件,我可以将它放入 Gephi 并建立一个网络。我尝试了一个“带有 if 语句的双重 for 循环”,但与我的预期相反,我得到了所有的。

这是我的代码:

list
[['ASV33', 0],
['ASV58', 1],
['ASV61', 0],
['ASV62', 2],
['ASV73', 3],
['ASV75', 4],
['ASV86', 5],
['ASV91', 6],
['ASV99', 7],
['ASV100', 8],
['ASV109', 7],
['ASV110', 9]]

...等等...在这里我制作了一个 nxn 零数组

    rows, cols = (n, n)
    arr = [[0]*cols]*rows

如果列的标签和行的标签相同,这是我想将单元格设为一个的代码。

for g in range(0,len(list)):
    for h in range(g,len(list)):
        if (list[g][1] == list[h][1]):
            arr[g][h] = 1
            print(g,h)
        else:
            arr[g][h] = 0

每次我打电话arr[k][l]我都会得到一个即使list[k][1] != list[l][1]

标签: pythonlist

解决方案


推荐阅读