我有一个构建邻接矩阵的函数。我想提高人类的矩阵可读性,所以我决定像这样打印行索引:现在我想以相同的方式打印列索引,但我无法正确执行此操作。我得到的最好的结果是这样的:任何想法和建议如何整齐地打印列索引?源代码在这里。def generate_adjacency_matrix(vertices): # Create empty Matrix matrix = [['.' for _ in range(len(vertices))] for _ in range(len(vertices))] # Fill Matrix for row in range(len(matrix)): for num in range(len(matrix)): if num in vertices[row]: matrix[row][num] = '1' # Print column numbers numbers = list(range(len(matrix))) for i in range(len(numbers)): numbers[i] = str(numbers[i]) print(' ', numbers) #Print matrix and row numbers for i in range(len(matrix)): if len(str(i)) == 1: print(str(i) + ' ', matrix[i]) else: print(i, matrix[i])如果它很重要,我的函数中的参数是一个字典,看起来像:{0:[1], 1:[0,12,8], 2:[3,8,15] .... 20:[18]}
1 回答

喵喔喔
TA贡献1735条经验 获得超5个赞
如果您知道自己只会达到 20 个字符,那么只需将所有内容填充到 2 个字符即可:
对于标题行:
numbers[i] = str(numbers[i].zfill(2))
对于其他行,设置为“.”或“.1”或其他看起来很整洁的内容。
这似乎是最简单的方法。
另一种方法是有2列标题,一个在另一个之上,第一个是十进制值,第二个是单位值。这允许您在表中保持1的宽度,这也许是您需要的。
添加回答
举报
0/150
提交
取消