ids = (['1', '020021', 'AAA'],
['2', '070031', 'BBB'],
['3', '519601', 'CCC'],
['4', '110021', 'DDD'])
for x,y,z in ids:
print(x,y,z)
如何编写使用一行?下面抛出异常。
print('\n'.join(*ids))
答案 0 :(得分:1)
这不起作用的原因有两个:
'\n'.join
仅接受一个参数:可迭代的字符串; join
函数不知道如何处理这些。您需要使用'{} {} {}.format(..)
:
print('\n'.join('{} {} {}'.format(*idi) for idi in ids))
因此,我们迭代idi
的{{1}},然后对于每个这样的行,我们将ids
添加到结果中,然后将它们与新行一起加入。< / p>
这会产生:
'{} {} {}'.format(*idi)
如果&#34;列数&#34;是任意的,我们也可以使用>>> print('\n'.join('{} {} {}'.format(*idi) for idi in ids))
1 020021 AAA
2 070031 BBB
3 519601 CCC
4 110021 DDD
而不是格式字符串:
join