2017-05-02 31 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]] 
相关问题