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

新手上路,请多包涵

问题描述

我有一组如下格式的字符串:
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

阅读 4.3k
2 个回答
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)

先用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)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题