如何在字典列表中基于pub前缀的tags查找并返回id列表?
实现方法
假设你用Python处理这个需求,最简洁高效的方式是用列表推导式,直接遍历列表并筛选符合条件的元素:
# 假设你的字典列表存储在变量obj_list中 obj_list = [ { "state": "available", "id": "obj-1", "tags": { "Name": "pub-obj-1" } }, { "state": "available", "id": "obj-2", "tags": { "Name": "pub-obj-2" } }, { "state": "available", "id": "obj-3", "tags": { "Name": "pvt-obj-3" } } ] # 筛选并提取id result_ids = [obj['id'] for obj in obj_list if obj['tags']['Name'].startswith('pub-')] print(result_ids) # 输出: ['obj-1', 'obj-2']
逻辑说明
- 遍历列表中的每个字典对象
obj - 通过
obj['tags']['Name']获取名称字段,用startswith('pub-')判断是否以pub-为前缀 - 符合条件的对象,提取其
id字段加入结果列表
如果需要兼容可能缺失tags或Name的情况(避免KeyError),可以加个简单的判断:
result_ids = [ obj['id'] for obj in obj_list if 'tags' in obj and 'Name' in obj['tags'] and obj['tags']['Name'].startswith('pub-') ]
内容的提问来源于stack exchange,提问作者AlexNikolaev94
相关产品推荐
相关产品推荐

