使用简单的for循环并将嵌套列表中的" ".join()
每个映射int
到str
with map()
。
>>> ys = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
>>> for xs in ys:
... print(" ".join(map(str, xs)))
...
1 2 3
4 5 6
7 8 9 10
此处的区别在于我们可以支持任意长度的内部列表。
您的示例未按预期运行的原因是,您的内部循环正在子列表的每个元素上进行迭代;
for r in A: # r = [1, 2, 3]
for t in r: # t = 1 (on first iteration)
print(t,)
print
并且print()
默认情况下,除非您使用,否则在末尾输出换行符:print(end="")
我相信如果您使用的是Python2.x print t,
。例如:
>>> ys = [[1, 2, 3], [4, 5, 6], [7, 8, 9, 10]]
>>> for xs in ys:
... for x in xs:
... print x,
... print
...
1 2 3
4 5 6
7 8 9 10
但是print(x,)
不会按照您的预期工作;Python 2.x或3.x