python - 我正在尝试制作一个由一和零组成的矩阵,但我只得到一个
问题描述
我想将大小为 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]
解决方案
推荐阅读
- c# - 动态获取一个 DbSet
按实体类名称 - EF Core - python - Pandas 中的以下命令有什么作用?
- swift - 使用 present 创建时,防止 ViewController 在后台堆叠
- arrays - 是否有理由使用 &[data] 而不仅仅是 [data]?
- java - /data/local/tmp/test 错误=13,权限被拒绝
- python - 根据中位数和标准差去除异常值
- javascript - litelement - 处理点击离开事件
- python - 追加到列表每次都会换行?
- c# - 使用 SignalR 和 ASP.NET MVC 5.2 在长时间运行的操作完成时发送消息
- javascript - 用于检查确切的字母数字和特殊字符的 Javascript 正则表达式