I need to convert string to dictionary in a manner for example
str1 = "00001000-0009efff : a 00100000-656b2fff : b"
Output what I require is
dict1 = {'a':['00001000','0009efff'], 'b':['00100000','656b2fff']}
Note: str1 can have many more such c, d, e with range.
>Solution :
You can do it with a regex:
import re
pattern = r'([\w\-]+) : ([a-z])'
out = {m[1]: m[0].split('-') for m in re.findall(pattern, str1)}
Explanation of the regex:
- match combination of alphanumeric characters and dashes
[\w-]+ - followed by a space, a colon and a space
_:_ - followed by a character
[a-z]
The groups are catching your relevant infos.