Python 打印矩阵的行号和列号

Python 打印矩阵的行号和列号,python,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) Python的索引是基于零的。您已经正确地完成了所有操作,但只需添加两个+1即可获得预期的输出。此外,字

我试图打印值为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)

Python的索引是基于零的。您已经正确地完成了所有操作,但只需添加两个+1即可获得预期的输出。此外,字典本质上是无序的,因此最好只使用元组列表:

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

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

您知道Python的索引是基于零的,是吗?字典是无序的吗?是的,先生,我知道。我会编辑这个问题,你能澄清问题是什么吗?仅仅打印一本字典永远不会得到你想要的输出-你必须做一些格式化。谢谢你,先生。这就成功了。如果我想删除所有的括号和逗号,该怎么办?我正试图将其保存到一个文件中。@user3258267['{}{}.formata',.joinb for a,b in G]提供了一个该格式的字符串列表。抱歉,我花了一段时间才回复,我的internet突然宕机。当我尝试回复时,我收到一个错误,显示为expected str instance,int found。@user3258267 try['{}{}{}'.formata',.joinmapstr,b表示a,b表示G中的b]。我忘了把索引转换成字符串。