我正在尝试打印值为1的矩阵的行号和列号。 例如:
A=[0 1 0]
[1 0 1]
[1 0 0]
我希望输出显示为:(行号后跟相应的列)
0 1
1 0 2
2 0
我尝试使用enumerate()但它给了我不同类型的输出。
G={i: [j for j, y in enumerate(row) if y] for i, row in enumerate(A)}
print (G)
答案 0 :(得分:0)
Python的索引是从零开始的。您已正确完成所有操作,但只需添加几个+1
即可获得预期的输出。此外,字典本质上是无序的,所以你最好只使用一个元组列表:
G = [(i+1, [j+1 for j, y in enumerate(row) if y]) for i, row in enumerate(A)]
或者更好;只需要一个2d列表,在需要时使用索引作为第一列。