1

我正在尝试从 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

而且输出还是一样的。

4

2 回答 2

9

使用字典理解:

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

strip()函数从字符串的前后删除换行符、空格和制表符。

于 2013-01-16T19:36:37.847 回答
7

你可以使用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

于 2013-01-16T19:36:24.927 回答