要从字典的键和值中同时删除字符吗?

问题描述 投票:1回答:3

我正在研究一个例程,以从在网络抓取过程中动态生成的字典中删除句点'.'。下面是我正在使用的代码,它似乎可以正常工作以删除字典值(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'}

如您所见,句点已从第二个值中删除,但没有从第一个键中删除。

python string dictionary strip
3个回答
3
投票

[.strip()仅从开头和结尾修剪字符,改用.strip()

.replace()

{'宠物数目:'1','没问题':'好'}


1
投票

通过遵循您的算法,我提出了一个解决方案。

.replace()

0
投票

我不太清楚为什么不起作用,但是您可以使用.replace方法,该方法在第一个arg中使用str替换,在第二个arg中使用str放置已删除的str的位置,这样可以得出:

x = {'No. of Pets': '1', 'No Problem': 'Okay...'}

{k.replace('.', '') : v.replace('.', '') for k, v in x.items()}
© www.soinside.com 2019 - 2024. All rights reserved.