按内部列表元素筛选嵌套列表,提取指定关联标识值
解决嵌套列表筛选需求
要提取与Not shown和Unknown关联的标识值,用Python的列表推导式就能简洁高效地完成这个任务,下面是具体的实现步骤:
1. 整理原始数据
首先把你提供的嵌套列表整理成标准的Python列表格式(方便后续处理):
nested_data = [ ['Not shown', '55095571@N02'], ['Dublin, Ireland', '87036731@N04'], ['Dublin, Ireland', '87036731@N04'], ['Teddington, UK', '12220922@N05'], ['Peterborough (UK)', '91415433@N03'], ['Dublin, Ireland', '87036731@N04'], ['Unknown', '34305619@N06'], ['Unknown', '99902388@N0...'] ]
2. 编写筛选逻辑
定义目标匹配的关键词,然后用列表推导式遍历筛选:
# 定义需要匹配的关键词,用集合提升查找效率 target_keys = {'Not shown', 'Unknown'} # 筛选出符合条件的标识值,加入长度判断避免索引错误 matched_ids = [sub_list[1] for sub_list in nested_data if len(sub_list) == 2 and sub_list[0] in target_keys]
3. 结果说明
运行上述代码后,matched_ids列表会包含所有符合条件的标识值:
print(matched_ids) # 输出: ['55095571@N02', '34305619@N06', '99902388@N0...']
补充说明
- 用集合存储目标关键词是因为集合的成员查找效率比列表更高,数据量大时优势明显
- 加入
len(sub_list) == 2的判断是为了避免出现子列表长度不足导致的索引错误,让代码更健壮
内容的提问来源于stack exchange,提问作者NightCrawler
相关产品推荐
相关产品推荐

