从字典中删除特殊字符

时间:2013-01-16 19:34:29

标签: python

我试图从python字典中删除所有\ r \ n。最简单的方法是什么?我的字典目前看起来像这样 -

 {'': '34.8\r\n', 
  'Mozzarella di Giovanni\r\n': '34.8\r\n', 
   'Queso Cabrales\r\n': '14\r\n', 
   'Singaporean Hokkien Fried Mee\r\n': '9.8\r\n'
}

编辑:这就是我正在尝试的内容 -

for key, values in productDictionary.items() :
    key.strip()
    values.strip()
    key.strip('"\"r')
    key.strip('\\n')
    values.strip('\\r\\n')
print productDictionary

输出仍然相同。

2 个答案:

答案 0 :(得分:6)

您可以使用str.strip()

str.strip()在没有参数的情况下使用时,会删除所有类型的前导和尾随空格。

>>> productDictionary={'': '34.8\r\n', 
  'Mozzarella di Giovanni\r\n': '34.8\r\n', 
   'Queso Cabrales\r\n': '14\r\n', 
   'Singaporean Hokkien Fried Mee\r\n': '9.8\r\n'
}

>>> productDictionary=dict(map(str.strip,x) for x in productDictionary.items()) 
>>> print productDictionary
>>>
{'': '34.8',
 'Mozzarella di Giovanni': '34.8',
 'Queso Cabrales': '14',
 'Singaporean Hokkien Fried Mee': '9.8'}
help()

上的

str.strip()

  

S.strip([chars]) - >字符串或unicode

     

返回带有前导和尾随空格的字符串S的副本   除去。如果给出了chars而不是None,则删除chars中的字符   代替。如果chars是unicode,则S将在之前转换为unicode   剥离

答案 1 :(得分:6)

使用词典理解:

clean_dict = {key.strip(): item.strip() for key, item in my_dict.items()}

strip()函数从字符串的正面和背面删除换行符,空格和制表符。