首页 > 解决方案 > 在python中的连续行中显示嵌套数组

问题描述

这是我的python代码:

d = []
for x in range(5):
d.append(["O"] * 5)
print d

输出是:

[['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O'], ['O', 'O', 'O', 'O', 'O']]

但我希望输出如下:

['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O']
['O', 'O', 'O', 'O', 'O'] 

最终是这样的:

O O O O O
O O O O O
O O O O O
O O O O O
O O O O O

标签: pythonarrays

解决方案


第一个是这样发生的,如果你只是print(d)打印整个列表,但是通过查看所需的输出,我们可以告诉我们每行只需要一个子列表。所以我们循环并在自己的行上d打印每个子列表i

d = []
for i in range(5):
    d.append(['0']*5)

for i in d:
    print(i)
['0', '0', '0', '0', '0']
['0', '0', '0', '0', '0']
['0', '0', '0', '0', '0']
['0', '0', '0', '0', '0']
['0', '0', '0', '0', '0']

对于第二部分,它的概念相同,只是我们*用来解包项目。

for i in d:
    print(*i)    
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

推荐阅读