2016-02-16 19 views
-2

我想將格式化字符串列表轉換爲字典。將'abcd ='efgh''這樣的字符串轉換爲類似於{'abcd':'efgh'的字符串}

字符串格式如下:

str = 'abcd="efgh"' 

,我想進入這樣一個字典這樣的:

d = {'abcd': 'efgh'} 

例子:

l = ['abc="efg"', 'hij="klm"', 'nop="qrs"'] 

到>

d = {'abc': 'efg', 'hij': 'klm', 'nop' :'qrs'} 

我試過如下:

d = dict(element.split('=') for element in l) 

- >但這不起作用

感謝。

+1

您嘗試過什麼嗎?我們不鼓勵不展示最小努力的問題。 – Maroun

+1

對不起:關於l中的元素,我嘗試了下面的d = dict(element.split('=')),但這不起作用。 – user2728706

+0

哦,實際上這工作...我不斷收到此錯誤:ValueError:字典更新序列元素#1具有長度1; 2是必需的,我只是意識到這是因爲我的列表有元素與意想不到的格式... – user2728706

回答

2

您可以使用split方法解析列表並分解每個元素,然後將其添加到dict。添加示例代碼:

d = {} 
for element in l: 
    string_elements = element.split("=") 
    d[string_elements[0]] = string_elements[1].replace('"','') 
+0

嗨感謝您的答覆,我想出了這個,你怎麼想? d = dict(element.replace(''','').split('=')for l) – user2728706

+0

選擇for循環或理解是個人喜好的問題,一個班輪很聰明,但有些人可能會發現它更難理解,選擇你/他們的其他用戶在你/他們將來查看代碼時會很容易理解。 – Alasdair