5

我很感谢python新手的一些帮助,我正在尝试从字符串中删除一些字符,例如:

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

 print string1

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

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

4

2 回答 2

10

文档string.translate

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

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

string1 = "100.000"
string1=string1.translate(None, ',.')
print (string1)
# 100000
于 2011-08-09T20:04:58.053 回答
1

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

string1.translate(None, ''.join(deleteList))
于 2011-08-09T20:07:14.480 回答