显示python 2d列表,在每个

2024-05-19 18:19:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图显示一个没有逗号、括号等的python 2D列表,并且希望在列表的每一行结束后显示一个新行。

这是我的尝试:

ogm = repr(ogm).replace(',',' ')
ogm = repr(ogm).replace('[',' ')
ogm = repr(ogm).replace("'", ' ')
ogm = repr(ogm).replace('"', ' ')
print repr(ogm).replace(']',' ') 

这是输入:

[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 0, 1, 0, 0, 0, 0, 0, 0], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1, 1, 1, 1], [0, 0, 1, 1, 0, 0, 1, 1, 1, 1], [0, 1, 0, 0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 0, 0, 1, 1, 0, 0], [1, 0, 1, 1, 1, 1, 0, 0, 0, 0]]

这是输出:

"'    0  0  0  0  0  0  0  0  0  0    1  1  0  1  0  0  0  0  0  0    1  1  1  0  0  0  0  0  0  0    0  1  1  0  0  0  0  0  1  1    0  0  0  0  0  0  1  1  1  0    0  0  0  1  1  0  1  1  1  1    0  0  1  1  0  0  1  1  1  1    0  1  0  0  0  0  0  1  1  0    0  0  0  0  0  0  1  1  0  0    1  0  1  1  1  1  0  0  0  0    '"

我遇到两个问题:

  1. 有一些我无法摆脱的“和”
  2. 我不知道怎么换行

任何帮助都将不胜感激。谢谢您!


Tags: 列表replace括号print逗号reprogm
3条回答
print "\n".join(" ".join(map(str, line)) for line in ogm)

如果希望行和列换位

print "\n".join(" ".join(map(str, line)) for line in zip(*ogm))

也许加入是适合你的:

print "\n".join(" ".join(str(el) for el in row) for row in ogm)

0 0 0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
0 1 1 0 0 0 0 0 1 1
0 0 0 0 0 0 1 1 1 0
0 0 0 1 1 0 1 1 1 1
0 0 1 1 0 0 1 1 1 1
0 1 0 0 0 0 0 1 1 0
0 0 0 0 0 0 1 1 0 0
1 0 1 1 1 1 0 0 0 0

简单的方法:

for row in list2D:
    print " ".join(map(str,row))

相关问题 更多 >