打印matrix-python的行号和列号

时间:2014-11-01 13:34:40

标签: python

我正在尝试打印值为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)

1 个答案:

答案 0 :(得分:0)

Python的索引是从零开始的。您已正确完成所有操作,但只需添加几个+1即可获得预期的输出。此外,字典本质上是无序的,所以你最好只使用一个元组列表:

G = [(i+1, [j+1 for j, y in enumerate(row) if y]) for i, row in enumerate(A)]

或者更好;只需要一个2d列表,在需要时使用索引作为第一列。