设置向上
我正在抓住住房广告并获得每个广告的分区。我还有一个包含区(键)和子区(值)的字典。
字典的一部分看起来像,
d = {
'Antony':['Antony','Châtenay-Malabry','Sceaux','Bourg-la-Reine','Bagneux',
'Fontenay-aux-Roses','Le Plessis-Robinson','Clamart',
'Châtillon','Montrouge','Malakoff','Vanves']
⋮
}
<小时/> 的问题
我使用子区域和上面的字典为每个广告指定了一个区域名称:
for distr, subdr in d.items():
if subdistrict in subdr:
district = distr
break
else:
district = 'unknown'
但是,对于某些广告,我在名称中获得了一个带有空格而不是'-'
的子区域,例如'Fontenay aux Roses'
代替'Fontenay-aux-Roses'
。此外,我不能排除所有'-'
都被替换 - 即可以检索'Fontenay aux-Roses'
。
如何告诉Python,例如'Fontenay aux-Roses'
,'Fontenay aux Roses'
或任何其他可能的组合都是'Fontenay-aux-Roses'
?
我的实际字典很大,并且包含多个地区名称,并且存在此问题。
我可以想到重复的解决方案,但想知道是否有更优雅的东西。
答案 0 :(得分:0)
标准str.replace(old, new[, count])
将与dict理解一起使用:
d = {
'Antony':['Antony','Châtenay-Malabry','Sceaux','Bourg-la-Reine','Bagneux',
'Fontenay aux Roses','Le Plessis-Robinson','Clamart',
'Châtillon','Montrouge','Malakoff','Vanves']
}
d = {k: [item.replace(' ', '-') for item in v] for k, v in d.items()}