[英]How to use one print() in python to print list items line by line - not in one streak?
[英]how to print a list with use for loop in one line
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))
这不起作用的原因有两个:
'\\n'.join
仅接受一个参数:字符串的可迭代值; join
函数不知道如何处理这些对象。 然后,您需要自己使用'{} {} {}.format(..)
格式化每一行:
print('\n'.join('{} {} {}'.format(*idi) for idi in ids))
因此,我们遍历ids
的idi
,然后对于每一行,将'{} {} {}'.format(*idi)
到结果中,然后将它们连接在一起并换行。
这将产生:
>>> print('\n'.join('{} {} {}'.format(*idi) for idi in ids))
1 020021 AAA
2 070031 BBB
3 519601 CCC
4 110021 DDD
如果“列”的数目是任意的,我们也可以使用join
代替格式字符串:
print('\n'.join(' '.join(str(idij) for idij in idi) for idi in ids))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.