我正在研究一个例程,以从在网络抓取过程中动态生成的字典中删除句点'.'
。下面是我正在使用的代码,它似乎可以正常工作以删除字典值(y
)的周期,但不能删除键(x
)的周期。
有关如何解决此问题的指导?
def dot_be_gone(dirty_dic):
clean_dic = {}
for x,y in dirty_dic.items():
clean_x = str(x).strip('.')
clean_y = str(y).strip('.')
clean_dic[clean_x] = clean_y
return(clean_dic)
dot_be_gone({"No. of Pets":"1", "No Problem":"Okay..."})
这将在执行时产生以下结果:
{'No. of Pets': '1', 'No Problem': 'Okay'}
如您所见,句点已从第二个值中删除,但没有从第一个键中删除。
通过遵循您的算法,我提出了一个解决方案。
.replace()
我不太清楚为什么不起作用,但是您可以使用.replace方法,该方法在第一个arg中使用str替换,在第二个arg中使用str放置已删除的str的位置,这样可以得出:
x = {'No. of Pets': '1', 'No Problem': 'Okay...'}
{k.replace('.', '') : v.replace('.', '') for k, v in x.items()}