Python如何用另一列表元素填充嵌套列表内的所有空列表
Python列表合并实现方案
输入说明
- 待处理列表1:
lst1 = [1,2,3] - 待处理列表2:
lst2 = [[],['abc','bcd','acd'],[],['sdf','ghj','klh'],[]] - 期望输出:
[[1],['abc','bcd','acd'],[2],['sdf','ghj','klh'],[3]]
实现逻辑
lst2中空列表的位置数量与lst1的元素数量完全对应,遍历lst2时将空列表按顺序替换为lst1元素包裹成的单元素列表,非空列表直接保留即可。
代码实现
基础循环写法
lst1 = [1,2,3] lst2 = [[],['abc','bcd','acd'],[],['sdf','ghj','klh'],[]] num_iter = iter(lst1) result = [] for item in lst2: if not item: result.append([next(num_iter)]) else: result.append(item)
简洁列表推导式写法
num_iter = iter(lst1) result = [[next(num_iter)] if not item else item for item in lst2]
运行后result的值即为期望输出。
内容的提问来源于stack exchange,提问作者Saurabh Patil
相关产品推荐
相关产品推荐

