gpt4 book ai didi

python - 漂亮的打印(二维阵列,盒子)

转载 作者:行者123 更新时间:2023-11-28 21:45:10 28 4
gpt4 key购买 nike

我写了下面的代码:

for row in range(len(listOfLists)):
print('+' + '-+'*len(listOfLists))
print('|', end='')
for col in range(len(listOfLists[row])):
print(listOfLists[row][col], end='|')
print(' ') #To change lines
print('+' + '-+'*len(listOfLists))

输入:

[['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i'],
['j', 'k', 'l']]

输出:

+-+-+-+-+
|a|b|c|
+-+-+-+-+
|d|e|f|
+-+-+-+-+
|g|h|i|
+-+-+-+-+
|j|k|l|
+-+-+-+-+

期望的输出:

+-+-+-+
|a|b|c|
+-+-+-+
|d|e|f|
+-+-+-+
|g|h|i|
+-+-+-+
|j|k|l|
+-+-+-+

它在二维数组的元素周围打印一个“+-+”。但是,我的代码仅适用于方形数组 (n^2)。

我如何概括它以便它适用于数组的任何变体(只要所有列表的长度相等)

谢谢

最佳答案

您的问题是 len(listOfLists) 用于双向打印表格的大小。 len(listOfLists) 默认为行数,通过执行 len(listOfLists[0]) 可以得到列数。

 listOfLists = [['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i'],
['j', 'k', 'l']]

for row in range(len(listOfLists)):
print('+' + '-+'*len(listOfLists[0]))
print('|', end='')
for col in range(len(listOfLists[row])):
print(listOfLists[row][col], end='|')
print(' ') #To change lines
print('+' + '-+'*(len(listOfLists[0])))

输出:

+-+-+-+
|a|b|c|
+-+-+-+
|d|e|f|
+-+-+-+
|g|h|i|
+-+-+-+
|j|k|l|
+-+-+-+

编码愉快!

关于python - 漂亮的打印(二维阵列,盒子),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39798149/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com