Python for循环单行写法:如何将mainList内列表作为独立参数传入zip_longest
解决方案
直接在你标注的替换位置填入mainList即可,Python的*可迭代对象解包语法会自动把mainList里包含的所有子列表拆成独立的位置参数传入itertools.zip_longest,完全适配mainList子列表数量可变的场景。
完整可运行代码
import itertools mainList = (['a', 'b', 'c'], ['d', 'e' ,'f']) for it in itertools.zip_longest(*mainList): print(it)
如果需要指定缺省值填充长度不一致的子列表,直接在解包参数后追加对应关键字参数即可:
for it in itertools.zip_longest(*mainList, fillvalue='-'): print(it)
通用扩展说明
这个写法适配所有接受可变长度位置参数的场景,比如调用原生zip、给print传多个打印内容、调用自定义多参数函数时,只要参数结构匹配,都可以用*加可迭代对象的方式直接解包传参,不需要提前把每个元素手动赋值给独立变量。
内容的提问来源于stack exchange,提问作者SeekNDstroy
相关产品推荐
相关产品推荐

