Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python打印2d数组的最佳方法是什么_Python_Multidimensional Array - Fatal编程技术网

用python打印2d数组的最佳方法是什么

用python打印2d数组的最佳方法是什么,python,multidimensional-array,Python,Multidimensional Array,我对编码还比较陌生,所以这似乎是一个有点愚蠢的问题,但是我正在尝试打印一个2d数组网格,我不确定我应该怎么做。这是我目前的代码: colA = [" ", " ", " ", " ", " "] colB = [" ", " ", " ", " ", " "] colC = [" ", " ", " ", " ", " "] colD = [" ", " ", " ", " ", " "] colE = [" ", " ", " ", " ", " "] grid = [colA, colB,

我对编码还比较陌生,所以这似乎是一个有点愚蠢的问题,但是我正在尝试打印一个2d数组网格,我不确定我应该怎么做。这是我目前的代码:

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列表的覆盖列表。