Python 如何打印二维列表,使每个列表都位于一个带空格的新行上,而不带任何“"&引用;或[]

Python 如何打印二维列表,使每个列表都位于一个带空格的新行上,而不带任何“"&引用;或[],python,arrays,list,printing,Python,Arrays,List,Printing,我在视觉上吸引人的庄园里打印列表时遇到了麻烦。 列表的一个例子是 [["-", "-", "-", "-"],["-", "-", "-", "-"],["-", "-", "-", "-"]] (字符不一定都是相同的),但我需要打印它而不使用任何功能,除了打印,范围,len,插入,附加,弹出,我不能使用任何字典或地图,也不能导入任何库或使用任何列表理解。我希望: - - - - - - - - - - - - 我试过: def print_board(board): for

我在视觉上吸引人的庄园里打印列表时遇到了麻烦。 列表的一个例子是

[["-", "-", "-", "-"],["-", "-", "-", "-"],["-", "-", "-", "-"]] 

(字符不一定都是相同的),但我需要打印它而不使用任何功能,除了
打印
范围
len
插入
附加
弹出
,我不能使用任何字典或地图,也不能导入任何库或使用任何列表理解。我希望:

- - - -
- - - - 
- - - - 
我试过:

def print_board(board): 
    for i in board: 
        row = board[i] 
        for r in row: 
            print(*row[r], "\n")

你很接近,但你误解了我在中的工作原理。迭代变量获取列表元素,而不是它们的索引

另外,
row[r]
(如果
r
是索引)将只是一个字符串,而不是一个列表,因此您不需要使用
*row[r]
将其解压缩

无需在
print()
调用中包含
“\n”
,因为默认情况下,它以换行符结束输出——您必须使用
end=”“
选项覆盖该选项以防止它

for row in board:
    for col in row:
        print(col, end=" ") # print each element separated by space
    print() # Add newline

你很接近,但你误解了我在中的工作原理。迭代变量获取列表元素,而不是它们的索引

另外,
row[r]
(如果
r
是索引)将只是一个字符串,而不是一个列表,因此您不需要使用
*row[r]
将其解压缩

无需在
print()
调用中包含
“\n”
,因为默认情况下,它以换行符结束输出——您必须使用
end=”“
选项覆盖该选项以防止它

for row in board:
    for col in row:
        print(col, end=" ") # print each element separated by space
    print() # Add newline
这是最简单的方法,但依赖于参数解包(即
*
行前面的星号)。如果出于任何原因无法使用该选项,则可以使用关键字参数来打印,以获得相同的结果

for row in board:
    for cell in row:
        print(cell, end=' ')
    print()
这是最简单的方法,但依赖于参数解包(即
*
行前面的星号)。如果出于任何原因无法使用该选项,则可以使用关键字参数来打印,以获得相同的结果

for row in board:
    for cell in row:
        print(cell, end=' ')
    print()

使用更好的命名变量,migh可以更好地理解:

def print_board(board): 
    for innerList in board: 
        for elem in innerList: 
            print(elem + " ", end ='') # no \n after print
        print("") # now \n


b = [["-"]*4]*4       
print_board(b)
print(b)
输出:

- - - -  
- - - -  
- - - -  
- - - -  

[['-', '-', '-', '-'], ['-', '-', '-', '-'], ['-', '-', '-', '-'], ['-', '-', '-', '-']]

使用更好的命名变量,migh可以更好地理解:

def print_board(board): 
    for innerList in board: 
        for elem in innerList: 
            print(elem + " ", end ='') # no \n after print
        print("") # now \n


b = [["-"]*4]*4       
print_board(b)
print(b)
输出:

- - - -  
- - - -  
- - - -  
- - - -  

[['-', '-', '-', '-'], ['-', '-', '-', '-'], ['-', '-', '-', '-'], ['-', '-', '-', '-']]

允许
print
吗?到目前为止你做了什么?“我需要打印它,但不使用任何函数,除了range、len、insert、append、pop”:这正是你想要一个好的python代码时不应该做的事……因为你不允许使用
print()
函数,所以你用这个函数会很不舒服。psst。。。您的示例列表缺少一些逗号。
print
允许吗?到目前为止您做了什么?“我需要打印它,而不使用除range、len、insert、append、pop以外的任何函数”:这正是您想要一个好的python代码时不应该做的事情……因为您不允许使用
print()
函数,你会很不开心的,嘘。。。您的示例列表缺少一些逗号。