2017-05-02 32 views
0

建立替換名單的元素字符串的一部分在字典

我有每個鍵都包含至少一個字符串元素列表的字典。

這裏是字典的一部分,

d = { 
    'Bergen-Enkheim': ['Bergen-Enkheim'], 
    'Bornheim/Ostend': ['Ostend,\xa0Bornheim'], 
    'Harheim': ['Harheim'], 
    'Innenstadt I': ['Altstadt,\xa0Bahnhofsviertel,\xa0Gallus,' 
        '\xa0Gutleutviertel,\xa0Innenstadt'] 
} 


問題

大部分元素開始\xa0,我想用一個空格來代替。

我嘗試下面的循環,

for key in d: 
    for x in d[key]: 
     x = x.replace('\xa0', ' ')  

d保持不變。如何用空格替換不需要的字符?

+0

請標出最佳答案 –

回答

1

您可以使用一個經典遍歷所有的值:

for values in d.values(): 
    values[:] = [x.replace('\xa0', ' ') for x in values] 

每個列表進行就地修改。

1

字符串是不可變的,所以x.replace(...)產生一個新的字符串,而不是改變字典列表中的現有字符串。然後,語句x = ...x更新爲新字符串的名稱。簡而言之,您必須明確地更改字典列表中的條目。

for key in d2: 
    for i, x in enumerate(d2[key]): 
     d2[key][i] = x.replace('\xa0', ' ') 
1

可以遍歷鍵,然後更新值

for key in d: 
    d[key] = [s.replace('\xa0', '') for s in d[key]] 
相關問題