3 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
使用 zip() 函數(shù)從兩個(gè)列表創(chuàng)建字典
import re
result = ' Thomas got 99 and James got 95, Gerrard got 84 and Tim got 21'
key = re.findall('[A-Z]+[a-z]+',result)
value = re.findall(r'\d+',result)
print(dict(zip(key,value)))
#{'Thomas': '99', 'James': '95', 'Gerrard': '84', 'Tim': '21'}

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用正則表達(dá)式。
前任:
import re
result = ' Thomas got 99 and James got 95, Gerrard got 84 and Tim got 21'
print(dict(re.findall(r"(\w+) got (\d+)", result)))
輸出:
{'Thomas': '99', 'James': '95', 'Gerrard': '84', 'Tim': '21'}

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試改變而不是得到,并且沒(méi)有那么多“和”只是使用逗號(hào)所以做
result = ' Thomas got 99, James got 95, Gerrard got 84, Tim got 21'
mydict = dict((k.strip(), v.strip()) for k,v in
(item.split('got') for item in result.split(',')))
print(mydict)
在我的 IDE 中運(yùn)行這個(gè),結(jié)果就是你要找的,希望這有幫助
添加回答
舉報(bào)