Python 如何打开列表列表?
在Python3中,我试图解包一个列表列表: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
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)