2011-08-09 8 views
4

I'dは、 - 私は例えば、次のように、文字列からいくつかの文字を削除しようとしているPythonの初心者のためのいくつかの助けに感謝:予想バッファオブジェクトエラーのpython 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.translatedeletecharsではなく、文字のリストの文字列、でなければならないことを示唆している

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

言う:

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

あなたdeleteList変数にreffersを取得エラー、それは文字列でなければなりません。あなたが実際にリストに文字を格納する必要がある場合は、これを行うことができます:

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