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

如何将含字母数字的字符串列表拆分为键值对字典

问题描述

给定如下列表:

['abc1234', 'appa4567', 'kkakaka9876']

需要将每个元素拆分为字母部分作为键、右侧数字部分作为对应的值,最终得到如下字典:

{ 
    'abc':'1234',
    'appa':'4567',
    'kkakaka':'9876'
}

解决方案

方法一:正则表达式(推荐)

用正则匹配字符串里的字母前缀和数字后缀,代码简洁且适配多数字母+数字的组合场景:

import re

original_list = ['abc1234', 'appa4567', 'kkakaka9876']
result_dict = {}

for item in original_list:
    match = re.match(r'([a-zA-Z]+)(\d+)', item)
    if match:
        result_dict[match.group(1)] = match.group(2)

print(result_dict)

输出结果:

{'abc': '1234', 'appa': '4567', 'kkakaka': '9876'}

方法二:手动遍历拆分

如果不想依赖正则库,可以逐个字符遍历找到数字起始位置,拆分字符串:

original_list = ['abc1234', 'appa4567', 'kkakaka9876']
result_dict = {}

for item in original_list:
    split_pos = 0
    while split_pos < len(item) and item[split_pos].isalpha():
        split_pos += 1
    result_dict[item[:split_pos]] = item[split_pos:]

print(result_dict)

输出结果与方法一完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 17:37:10