Python 如何打开列表列表?

Python 如何打开列表列表?,python,python-3.x,join,tuples,Python,Python 3.x,Join,Tuples,在Python3中,我试图解包一个列表列表: members = [['3', '5', '5', '20', 'D'], ['2', '2', '2', '30', 'C']] 我想把它打印成 3 5 5 20 D 2 2 2 30 C 我曾尝试使用print(''.join(members)),但我一直遇到错误: 您需要以某种方式对成员的每个成员进行操作。这里有几个选项可以让你开始 迭代每个成员并将其解压缩: >>> for m in members: print(*m

在Python3中,我试图解包一个列表列表:

members = [['3', '5', '5', '20', 'D'], ['2', '2', '2', '30', 'C']]
我想把它打印成

3 5 5 20 D
2 2 2 30 C
我曾尝试使用
print(''.join(members)),
但我一直遇到错误:


您需要以某种方式对
成员的每个成员进行操作。这里有几个选项可以让你开始

迭代每个成员并将其解压缩:

>>> for m in members: print(*m)
...
3 5 5 20 D
2 2 2 30 C
加入每个成员,然后将整个内容展开:

>>> print(*(' '.join(m) for m in members), sep='\n')
3 5 5 20 D
2 2 2 30 C
您可以在
打印

for member in members:
      print(*member)
# 3 5 5 20 D
# 2 2 2 30 C

由于这是一个嵌套列表,执行以下操作时:

print (' '.join(members))
您实际上是在尝试使用空格连接每个“子列表”。您看到的错误是因为Python无法将整个“子列表”转换为字符串。不过,你走对了路

您可以使用列表来完成此操作:

print(*[' '.join(m) for m in members], sep="\n")
或生成器表达式:

print(*(' '.join(m) for m in members), sep="\n")
或循环:

for member in members:
    print(*member)
或者在循环中:

for member in members:
    print(' '.join(member))
*
操作符将列表解压为逗号分隔的参数(简单来说)。

在python中

" ".join(["a", "b", "c"])
产生

"a b c"
如果您希望数据的结果是一个字符串,您可以做的只是嵌套以下两个表达式:

result = "\n".join(" ".join(L) for L in members)
用换行符分隔“\n”
通过在每个列表中用空格分隔“项而获得的元素

如果您只想打印数据,那么简单的循环更容易阅读:

for L in members:
    print(" ".join(L))
这起作用了

for member in members:
    print " ".join(member)
for L in members:
    print(" ".join(L))
for member in members:
    print " ".join(member)