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

如何在Python中将列表字母数字串拆分并存储为字典键值对?

最简实现方案

嘿,这个需求用Python实现超简单的,给你两种简洁又高效的方案,看你偏好哪种:

方案一:用collections.defaultdict(推荐)

借助标准库的defaultdict,可以自动为不存在的键创建空列表,省去手动判断的麻烦:

from collections import defaultdict

my_list = ["A1B2244", "B3H7654", "A1O6541", "J4777"]
result = defaultdict(list)

for item in my_list:
    # 前两个字符作为键,剩余部分作为对应的值
    key = item[:2]
    value = item[2:]
    result[key].append(value)

# 要是你需要普通字典类型而非defaultdict,转一下就行(可选)
result = dict(result)
print(result)

运行后直接得到你想要的结果:

{'A1': ['B2244', 'O6541'], 'B3': ['H7654'], 'J4': ['777']}

方案二:用普通字典的setdefault方法(无需额外导入)

如果不想导入模块,用原生字典的setdefault方法也能一行循环搞定,逻辑和上面一致:

my_list = ["A1B2244", "B3H7654", "A1O6541", "J4777"]
result = {}

for item in my_list:
    result.setdefault(item[:2], []).append(item[2:])

print(result)

补充说明

  • 两种方案都是线性时间复杂度O(n),处理大规模数据也毫无压力;
  • 这里默认所有字符串长度都≥2,如果你的实际数据里有更短的元素,可以加个简单判断,比如key = item[:2] if len(item)>=2 else item,避免索引报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:33:37