我遇到過這個問題幾次,似乎無法找出一個簡單的解決方案。 說我有一個字符串將字符串轉換爲字典在Python中使用列表理解
string = "a=0 b=1 c=3"
我想將其轉換成具有,b和c是所述鍵和0,1和3被它們各自的值的字典(轉換爲int)。很顯然,我可以這樣做:
list = string.split()
dic = {}
for entry in list:
key, val = entry.split('=')
dic[key] = int(val)
但我真的不喜歡那個for循環,它似乎很簡單,你應該能夠將其轉換爲某種形式的名單理解的表達。這適用於val
可以是字符串的稍微簡單的情況。
dic = dict([entry.split('=') for entry in list])
但是,我需要將val快速轉換爲int,並且執行類似這樣的操作在語法上是不正確的。
dic = dict([[entry[0], int(entry[1])] for entry.split('=') in list])
所以我的問題是:是否有消除使用列表理解循環的方法嗎?如果沒有,是否有一些內置的python方法可以爲我做到這一點?
注:請不要使用內置函數作爲變量名('string','list'等) – 2010-09-03 04:48:59