You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中多型号到单一厂商的高效映射方法问询

更高效的型号-厂商映射实现方法

你提到的“用型号当键、厂商当值”的反向字典思路,确实是比嵌套循环更优的方案,哪怕当前厂商和型号数量在10-100这个区间,也能让代码更简洁、查询更快。

具体怎么做

1. 先转成反向映射字典

先把现有的厂商字典倒过来,让每个型号直接对应到所属厂商:

manufacturer_dict = {
    "ASUS": ["ROG", "TUF"],
    "ACER": ["Predator", "Nitro"],
    "Lenovo": ["Legion"]
}

# 构建反向字典:型号→厂商
model_to_brand = {}
for brand, models in manufacturer_dict.items():
    for model in models:
        model_to_brand[model] = brand

2. 一键生成结果列表

有了这个反向字典后,直接遍历型号列表查字典就行,一行代码搞定:

model_name = ["Legion", "ROG", "Nitro", "TUF", "Predator"]
manufacturer_list = [model_to_brand.get(model, "") for model in model_name]

用get方法是为了和你原来的逻辑一致——如果某个型号找不到对应厂商,就返回空字符串。

为啥这个方案更好

  • 原嵌套循环:每查一个型号,都要逐个遍历厂商的型号列表,数据量越大,重复遍历的次数越多,效率越低。
  • 反向字典方案:只需要先花一次功夫把字典转好,之后每个型号都是直接查表,速度快得多,代码也更清爽。哪怕以后厂商和型号数量翻倍,查询效率也不会受影响。

哪怕当前数据规模小,这个写法也更易维护——以后加新厂商或型号,只需要更新原manufacturer_dict,再重新生成反向字典就行,不用改查询逻辑。

内容的提问来源于stack exchange,提问作者rethik nirmal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 20:24:59