Python字符串分割问题:分离字母和数字并组装为dict

发布于 2022-09-12 01:47:40 字数 372 浏览 24 评论 0

问题描述

我有一组如下格式的字符串:
0000_C00_W00_L00_P00.jpg
...
0000_C12_W07_L07_P06.jpg

我希望使用Python3将该字符串分割并最终得到一组这样的dict:
{'ID':'0000','C':'00', 'W':'00', 'L':'00', 'P':'00'}
...
{'ID':'0000','C':'12', 'W':'07', 'L':'07', 'P':'06'}

目前只会通过split简单分隔出如下形式的list,新手还求帮助!!!
['0000', 'C11', 'W06', 'L06', 'P06']

环境背景

python3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南渊 2022-09-19 01:47:40
import re
c = [
  '0000_C00_W00_L00_P00.jpg',
  '0000_C12_W07_L07_P06.jpg'
]

result = [
  dict(re.findall(r'([A-Z]+)(\d+)', 'ID'+i))
  for i in c
]

print(result)
傲性难收 2022-09-19 01:47:40

先用split是对的,然后是借助字符串切片,分开第一个字符和剩下的字符,填入字典就可以了。

data = ['0000_C00_W00_L00_P00.jpg','0000_C12_W07_L07_P06.jpg']

tmp = [d.replace('.jpg','').split('_') for d in data]

dict_list = []
for t in tmp:
    d = dict()
    d['ID'] = t[0]
    d[t[1][0]] = t[1][1:]
    d[t[2][0]] = t[2][1:]
    d[t[3][0]] = t[3][1:]
    d[t[4][0]] = t[4][1:]
    dict_list.append(d)

print(dict_list)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文