Python如何将嵌套列表中相同键的对应ID存入字典列表
无依赖Python实现疫苗ID按名称分组
以下是完全基于Python原生语法、不需要导入任何模块的实现方案:
完整可运行代码
# 原始嵌套列表数据 vaccine_data = [ ['0794156', 'FLU4', 'GLAXOSMITHKLINE BIOLOGICALS', 'JZ3B7', 'UNK', 'IM', 'LA', 'INFLUENZA (SEASONAL) (FLUARIX QUADRIVALENT)'], ['0794157', 'VARZOS', 'GLAXOSMITHKLINE BIOLOGICALS', '', 'UNK', '', '', 'ZOSTER (SHINGRIX)'], ['0794158', 'VARZOS', 'GLAXOSMITHKLINE BIOLOGICALS', '', 'UNK', '', '', 'ZOSTER (SHINGRIX)'], ['0794160', 'VARZOS', 'GLAXOSMITHKLINE BIOLOGICALS', '', '1', 'IM', 'RA', 'ZOSTER (SHINGRIX)'] ] result = {} for item in vaccine_data: # 分别取索引7的疫苗名称作为键,索引0的ID作为值 vaccine_name = item[7] vaccine_id = item[0] # 键不存在时自动初始化空列表,直接追加ID result.setdefault(vaccine_name, []).append(vaccine_id) print(result)
运行输出结果
{'INFLUENZA (SEASONAL) (FLUARIX QUADRIVALENT)': ['0794156'], 'ZOSTER (SHINGRIX)': ['0794157', '0794158', '0794160']}
注:你给出的示例结果遗漏了ID 0794158,上述代码会完整保留所有符合规则的ID,如果需要去重可以追加result[key] = list(set(result[key]))逻辑处理。
内容的提问来源于stack exchange,提问作者Anshul Dayavaan
相关产品推荐
相关产品推荐

