考虑以下列表: (我忘了说我的单子上也有数字,int-s)
foo_list = [['foo', 100], ['\xa0foo', 200], ['foo\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0', 300], ['foo', 400]]
我试过用我在google上找到的以下函数来清理列表:
^{pr2}$这显然给了我: (新错误)
AttributeError: 'int' object has no attribute 'replace'
是因为这是一个列表吗?我如何修改代码以使其正常工作并删除“\xa0
”字符。在
我预期的输出将是一个新列表,其中包含来自foo_list
的已清理值。在
只需在第一个元素上使用
str.strip()
,保持内部列表的其余部分不变:
^{pr2}$\xa0
是一个不间断的空格,如果您的值是Unicode字符串,这些字符串将在不指定参数的情况下被删除。您的示例输入由bytestrings组成,因此我使用了一个显式的条带:你也需要使用嵌套的方法来处理每一个嵌套的函数
但是,不需要使用
str.replace()
,除非在单词之间有那些\xa0
非间断空格;示例只在开头和结尾包含它们。在请注意,如果一些元素是整数,而其他元素是字符串,则必须执行一些duck类型:
请注意,如果您的输入是
unicode
对象,则必须使用匹配的u'\xa0'
字符串来剥离!或者,只需使用不带参数的unicode.strip()
从开始和结束删除所有空白(因为\xa0
是U+00A0 NO-BREAK SPACE,被认为是空白):相关问题 更多 >
编程相关推荐