简体   繁体   中英

Print the row and column numbers of a matrix-python

I am trying to print the row number and column number of a matrix where the value is 1. For example:

A=[0 1 0]
  [1 0 1]
  [1 0 0]

I want the output to be displayed as:(row number followed by the corresponding column)

0 1
1 0 2
2 0

I tried to use enumerate() but it gave me different kind of output.

G={i: [j for j, y in enumerate(row) if y] for i, row in enumerate(A)}
print (G)

Python's indices are zero-based. You have done everything correctly, but just need to add a couple of +1 s to get the output you expected. Also, dictionaries are unordered by nature, so you would be better off just using a list of tuples:

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

Or better still; just a 2d list using the indices as the first column when you need them.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM