用python打印2d数组的最佳方法是什么
我对编码还比较陌生,所以这似乎是一个有点愚蠢的问题,但是我正在尝试打印一个2d数组网格,我不确定我应该怎么做。这是我目前的代码:用python打印2d数组的最佳方法是什么,python,multidimensional-array,Python,Multidimensional Array,我对编码还比较陌生,所以这似乎是一个有点愚蠢的问题,但是我正在尝试打印一个2d数组网格,我不确定我应该怎么做。这是我目前的代码: colA = [" ", " ", " ", " ", " "] colB = [" ", " ", " ", " ", " "] colC = [" ", " ", " ", " ", " "] colD = [" ", " ", " ", " ", " "] colE = [" ", " ", " ", " ", " "] grid = [colA, colB,
colA = [" ", " ", " ", " ", " "]
colB = [" ", " ", " ", " ", " "]
colC = [" ", " ", " ", " ", " "]
colD = [" ", " ", " ", " ", " "]
colE = [" ", " ", " ", " ", " "]
grid = [colA, colB, colC, colD, colE]
print("|"+[4,0]+"|"+[4,1]+"|"+[4,2]+"|"+[4,3]+"|"+[4,4]+"|")
print("|"+[3,0]+"|"+[3,1]+"|"+[3,2]+"|"+[3,3]+"|"+[3,4]+"|")
print("|"+[2,0]+"|"+[2,1]+"|"+[2,2]+"|"+[2,3]+"|"+[2,4]+"|")
print("|"+[1,0]+"|"+[1,1]+"|"+[1,2]+"|"+[1,3]+"|"+[1,4]+"|")
print("|"+[0,0]+"|"+[0,1]+"|"+[0,2]+"|"+[0,3]+"|"+[0,4]+"|")
这是基本的,我知道,但我就是不明白。当我尝试打印网格时,它会显示以下错误消息:
print("|"+[4,0]+"|"+[4,1]+"|"+[4,2]+"|"+[4,3]+"|"+[4,4]+"|")
TypeError: can only concatenate str (not "list") to str
这个错误消息是什么意思?我是否可以将2d数组转换为它们各自列表中的字符串,而不用控制台显示类似于:|[0,0]|[0,1]|[0,2]|等的内容。以下是一个简单的代码片段,以“漂亮”的方式显示2d矩阵:
arr = [[1,2,'3'], [4,5,'trampoline'], ['rf', 'th', 8.7]]
print("\n".join(str(row) for row in arr))
输出:
[1, 2, '3']
[4, 5, 'trampoline']
['rf', 'th', 8.7]
它基本上做了以下工作-
[1,2,3']+“\n”+[4,5',蹦床]+“\n”+['rf','th',8.7]
如果执行上面这一行,将得到与前面提到的错误类似的错误。
(TypeError:必须是str,而不是list)
请注意代码中的
str(行)
。通过将列表类型转换为字符串,我可以确保仅在两种字符串类型之间进行连接。您希望“|”+[4,0]
的计算结果是什么?此外,您可能会发现一些有用的信息,例如,“|”。join(colA)=“| | | | |”
。我希望它会变成一个空白,如:| | | | |,以便以后可以替换变量[4,0]
是一个列表。你的意思是给列表编制索引吗?例如,grid[4][0]
?刚试过,但它给了我这个:print(“|”+grid[4,0]+“|”+grid[4,1]+“|”+grid[4,2]+“|”+grid[4,3]+“|”+grid[4,4]+“|”)TypeError:列表索引必须是整数或切片,而不是元组您收到的TypeError
是正确的。您正试图用一个元组索引网格
,即(4,0)
。考虑读取索引列表的基本语法和使用NEXTED列表的覆盖列表。