如何在Python列表推导式中批量传递子列表元素给函数?
如何在列表推导式中批量将子列表元素作为函数参数传递?
你可以利用Python的可迭代对象解包语法,直接在函数调用时用*操作符拆解子列表,无需手动定义对应数量的变量。
解决方案示例
list_of_lists = [[0, 1, 2, 3], [0, 1, 2, 3], ...] [function(*sublist) for sublist in list_of_lists]
原理说明
*sublist会将子列表中的每个元素依次作为位置参数传递给function,完全替代了手动写i,j,k,l这类变量的繁琐操作。无论子列表的元素数量如何变化,只要函数能接收对应数量的位置参数,这段代码都能正常运行,无需修改列表推导式的结构。
注意事项
- 确保每个子列表的元素数量与
function的位置参数数量匹配,否则会抛出TypeError(这和你之前显式拆包变量时的错误逻辑一致,但写法更简洁)。 - 如果函数需要接收关键字参数,可改用
**操作符拆解字典类型的子元素,但你的场景用*即可满足需求。
内容的提问来源于stack exchange,提问作者user2403531
相关产品推荐
相关产品推荐

