Python 从字典的键和值中删除字符?
我正在编写一个例程,以从一个在web抓取过程中动态构建的字典中删除句点“.”。下面是我正在使用的代码,它似乎可以正确地删除字典值y的句点,但不删除键x 有没有关于如何解决这个问题的指导Python 从字典的键和值中删除字符?,python,string,dictionary,strip,Python,String,Dictionary,Strip,我正在编写一个例程,以从一个在web抓取过程中动态构建的字典中删除句点“.”。下面是我正在使用的代码,它似乎可以正确地删除字典值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('.')
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..."})
执行时会产生以下结果:
{“宠物数量”:“1”,“没问题”:“好的”}
正如您所看到的,句点从第二个值中删除,而不是从第一个键中删除。仅从开始和结束修剪字符,请改用
{'No of Pets':'1','No Problem':'ok'}
仅从起点和终点修剪字符,请改用
{'No of Pets':'1','No Problem':'ok'}
按照你的算法,我想出了一个解决方案 方法1:使用方法条的简单方法 方法2:使用方法替换
按照你的算法,我想出了一个解决方案 方法1:使用方法条的简单方法 方法2:使用方法替换
我不知道为什么这样做不起作用,但您可以使用.replace方法,该方法使用str替换第一个参数中的str,并将str放置在第二个参数中删除的str的位置,从而得出:
clean_x = x.replace(".", "")
clean_y = y.replace(".", "")
我不知道为什么这样做不起作用,但您可以使用.replace方法,该方法使用str替换第一个参数中的str,并将str放置在第二个参数中删除的str的位置,从而得出:
clean_x = x.replace(".", "")
clean_y = y.replace(".", "")
strip仅从字符串的开头和结尾删除字符。使用replace.strip仅删除字符串开头和结尾的字符。使用替换。为什么不使用。替换?这个解决方案设计过度。它还假设字符串中只有一个“.”。。。还有,为什么要保留条纹呢???在一个他们什么都不会做的分支里。为什么要对str进行无关调用?也可以使用replace方法。上面,@zamir使用此方法。为什么不使用。替换?这个解决方案设计过度。它还假设字符串中只有一个“.”。。。还有,为什么要保留条纹呢???在一个他们什么都不会做的分支里。为什么要对str进行无关调用?也可以使用replace方法。上面,@zamir使用这种方法。
def dot_be_gone(dirty_dic):
clean_dic = {}
for x, y in dirty_dic.items():
clean_x = x.replace('.', "")
clean_y = y.replace('.', "")
clean_dic[clean_x] = clean_y
return(clean_dic)
x = dot_be_gone({"No. of Pets":"1", "No Problem":"Okay..."})
print(x) # {'No of Pets': '1', 'No Problem': 'Okay'}
clean_x = x.replace(".", "")
clean_y = y.replace(".", "")