打印带有索引 python 的矩阵

新手上路,请多包涵

我在 Python 中定义了一个矩阵,如下所示:

 matrix = [['A']*4 for i in range(4)]

如何以以下格式打印它:

    0  1  2  3
0  A  A  A  A
1  A  A  A  A
2  A  A  A  A
3  A  A  A  A

原文由 user1692261 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 412
2 个回答

此功能与您的确切输出相匹配。

 >>> def printMatrix(testMatrix):
        print ' ',
        for i in range(len(testMatrix[1])):  # Make it work with non square matrices.
              print i,
        print
        for i, element in enumerate(testMatrix):
              print i, ' '.join(element)
>>> matrix = [['A']*4 for i in range(4)]
>>> printMatrix(matrix)
  0 1 2 3
0 A A A A
1 A A A A
2 A A A A
3 A A A A
>>> matrix = [['A']*6 for i in range(4)]
>>> printMatrix(matrix)
  0 1 2 3 4 5
0 A A A A A A
1 A A A A A A
2 A A A A A A
3 A A A A A A

要检查单个长度元素并用 & 代替长度 > 1 的元素,您可以检查列表理解,代码将更改如下。

 >>> def printMatrix2(testMatrix):
    print ' ',
    for i in range(len(testmatrix[1])):
        print i,
    print
    for i, element in enumerate(testMatrix):
        print i, ' '.join([elem if len(elem) == 1 else '&' for elem in element])
>>> matrix = [['A']*6 for i in range(4)]
>>> matrix[1][1] = 'AB'
>>> printMatrix(matrix)
  0 1 2 3 4 5
0 A A A A A A
1 A AB A A A A
2 A A A A A A
3 A A A A A A
>>> printMatrix2(matrix)
  0 1 2 3 4 5
0 A A A A A A
1 A & A A A A
2 A A A A A A
3 A A A A A A

原文由 Sukrit Kalra 发布,翻译遵循 CC BY-SA 3.0 许可协议

是这样的:

 >>> matrix = [['A'] * 4 for i in range(4)]
>>> def solve(mat):
    print " ", " ".join([str(x) for x in xrange(len(mat))])
    for i, x in enumerate(mat):
        print i, " ".join(x)  # or " ".join([str(y) for y in x]) if elements are not string
...
>>> solve(matrix)
  0 1 2 3
0 A A A A
1 A A A A
2 A A A A
3 A A A A
>>> matrix = [['A'] * 5 for i in range(5)]
>>> solve(matrix)
  0 1 2 3 4
0 A A A A A
1 A A A A A
2 A A A A A
3 A A A A A
4 A A A A A

原文由 Ashwini Chaudhary 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题