str=3-7周,12-13周,17周
想转换成[{start:3,end:7},{start:12,end:13},{start:17,end:17}]
应该怎么做
有帮助望采纳
import re
str1='3-7周,12-13周,17周'
pattern = re.compile('(^|,)([\d]+)(-([\d]+))?周')
results = pattern.findall(str1)
print(results)
result_list =[]
for result in results:
result_list.append('{'+f'start:{result[1]},end:{result[3] if result[3] else result[1]}'+'}')
print(result_list)