Python 打印矩阵的行号和列号
我试图打印值为1的矩阵的行号和列号。 例如: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即可获得预期的输出。此外,字
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]。我忘了把索引转换成字符串。