如何在一维列表与二维列表中匹配指定元素并生成目标列表
筛选并修改二维列表元素
示例输入
Df1 = [10] Df2 = [[2,4],[5,10,13],[2,3], [2,6,10,20]]
实现代码
Df1 = [10] Df2 = [[2,4],[5,10,13],[2,3], [2,6,10,20]] # 提取目标元素 target = Df1[0] Df3 = [] # 遍历二维列表中的每个子列表 for sublist in Df2: # 只处理包含目标元素的子列表 if target in sublist: new_sublist = [] for item in sublist: new_sublist.append(item) # 遇到目标元素时,重复添加一次 if item == target: new_sublist.append(item) Df3.append(new_sublist) print(Df3)
运行结果
[[5, 10, 10, 13], [2, 6, 10, 10, 20]]
逻辑说明
- 从一维列表
Df1中提取需要匹配的目标元素 - 遍历二维列表
Df2,筛选出包含目标元素的子列表 - 对每个符合条件的子列表,逐个遍历元素:遇到目标元素时连续添加两次,其他元素正常添加
- 将所有处理后的子列表收集到
Df3中
如果Df1包含多个目标元素,只需修改逻辑为遍历所有目标元素,遇到任意一个都重复添加即可。
内容的提问来源于stack exchange,提问作者user12038051
相关产品推荐
相关产品推荐

