逐行打印嵌套列表 - Python

qua*_*ers 5 python printing for-loop nested-lists python-3.x

A = [[1, 2, 3], [2, 3, 4], [4, 5, 6]]

我正在尽力打印A表格:

1 2 3
2 3 4
4 5 6
Run Code Online (Sandbox Code Playgroud)

这是不同的行,但如果没有不同行中的所有元素,我无法这样做.到目前为止这是我的代码:

for r in A:
   for t in r:
       print(t,)
    print
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

1
2
3
2
3
4
4
5
6
Run Code Online (Sandbox Code Playgroud)

这似乎很简单,我认为一个小的改变会做到这一点.谢谢!

Jam*_*lls 5

使用简单的for循环并将嵌套列表中的" ".join()每个映射intstrwith 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
Run Code Online (Sandbox Code Playgroud)

这里的不同之处在于我们可以支持任意长度的内部列表.


你的例子没有按预期工作的原因是你的内部循环遍历子列表的每个元素;

for r in A:  # r = [1, 2, 3]
    for t in r:  # t = 1 (on first iteration)
        print(t,)
    print
Run Code Online (Sandbox Code Playgroud)

print()通过在月底默认打印换行符,除非你使用:print(end="")我相信,如果你使用的是Python 2.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
Run Code Online (Sandbox Code Playgroud)

但是print(x,)不会像你想象的那样奏效; Python 2.x或3.x.


Alb*_*ieu 5

比接受的答案更好

试试这个衬里, [print(a) for a in A];我喜欢一个衬里!喜欢的话就点个赞吧

A = [[1, 2, 3], [2, 3, 4], [4, 5, 6]]
[print(a) for a in A];
[1, 2, 3]
[2, 3, 4]
[4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

如果您不想[]在打印输出中看到,请执行以下操作 [print(*a) for a in A];

A = [[1, 2, 3], [2, 3, 4], [4, 5, 6]]
[print(*a) for a in A];
1 2 3
2 3 4
4 5 6
Run Code Online (Sandbox Code Playgroud)