5

Pythonの初心者の助けをいただければ幸いです。たとえば、次のように、文字列からいくつかの文字を削除しようとしています。

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

 print string1

しかし、私はTypeError: expected a character buffer object

なぜこのエラーが発生するのですか、どの引数を参照していますか?どこでこれに関するヘルプを見つけることができますか。私はWindowsでPython2.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 に答える