Python打印时如何无需循环即可解包嵌套列表内的子列表?
嵌套列表无循环解包打印方案
错误原因说明
** 运算符仅支持对字典做关键字参数解包,你传入的是嵌套列表,类型不匹配,因此会抛出运行错误。
可行解决方案
方案1:使用itertools.chain(推荐)
无需显式编写循环,通过itertools内置的chain工具直接拼接所有子列表,长列表场景下效率更高:
from itertools import chain sl = [[1,2,3],[4,5,6],[7,8,9]] print(*chain(*sl), sep="\n")
方案2:无导入依赖的短列表方案
如果不想导入模块,且嵌套列表长度较短,可以用sum方法展平列表:
sl = [[1,2,3],[4,5,6],[7,8,9]] print(*sum(sl, []), sep="\n")
sum(sl, [])会将所有子列表按顺序拼接为一个一维列表,再通过*解包给print函数即可实现逐行输出所有元素。
内容的提问来源于stack exchange,提问作者shankar v
相关产品推荐
相关产品推荐

