2011-08-09 55 views
4

我倒是欣赏了蟒蛇新手一些帮助,我正尝试从一个字符串中删除一些字符,像这样的,例如:预期缓冲区对象错误 - 蟒蛇2.6

string1 = "100.000" 
deleteList = [",", "."] 
string1.translate(None, deleteList) 

print string1 

但我得到了一个TypeError: expected a character buffer object

为什么我会得到这个错误,它指的是哪个参数?我在哪里可以找到这方面的帮助。 我在windows上使用python 2.6。

回答

9

docs for string.translate

S.translate(table [,deletechars]) -> string 

这表明deletechars应该是一串字符,而不是字符的列表:

string1 = "100.000" 
string1=string1.translate(None, ',.') 
print (string1) 
# 100000 
1

你reffers您deleteList变量的错误,它应该是一个字符串。如果你真的需要将字符存储在列表中,你可以这样做:

string1.translate(None, ''.join(deleteList))