0

と のような文字列がいくつか'english100'あります'math50'。それらを次のような辞書に変換するにはどうすればよいですか。

{'english': 100, 'math': 50}.

私が試してみました:

re.split(r'(?=\d)'

しかし、それはうまくいきません。

4

1 に答える 1

3

あなたの文字列がそれほど単純なら、私はおそらく次のようにします:

d = dict()
d.update(re.findall(r'([a-zA-Z]+)(\d+)',"english100"))

または別の方法 (同じ文字列に複数のオカレンスがある場合):

>>> dict(x.groups() for x in re.finditer(r'([a-zA-Z]+)(\d+)',"english100spanish24"))
{'spanish': '24', 'english': '100'}
于 2013-01-31T03:56:55.737 に答える