如何合并两个嵌套列表:按a的子列表数量重复b进行组合
合并嵌套列表的笛卡尔积式拼接方案
直接用嵌套列表推导式就能实现你的需求,本质是对两个嵌套列表做笛卡尔积,再将对应子列表拼接,完全可推广到任意数量子列表的场景:
a = [[0,0], [1,1]] b = [[2,3,4],[5,6,7],[7,8,9]] c = [x + y for x in a for y in b]
运行后c的结果完全符合预期:[[0,0,2,3,4], [0,0,5,6,7],[0,0,7,8,9],[1,1,2,3,4], [1,1,5,6,7],[1,1,7,8,9]]
原理说明
- 外层循环遍历
a中的每个子列表x - 内层循环遍历
b中的每个子列表y - 每次循环通过
x + y完成列表拼接,生成的新子列表直接加入结果集c
大规模场景适配
如果a或b包含成百上千个子列表,这种方法依然适用——Python列表推导式在批量数据处理中性能优异,比手动嵌套for循环更简洁高效。比如a有1000个子列表、b有500个子列表时,代码会自动生成500000个拼接后的子列表,完全能胜任这类大规模场景。
内容的提问来源于stack exchange,提问作者user3677929
相关产品推荐
相关产品推荐

