を非ASCII文字を使用したとき、私はこの機能を持っている:KeyError例外をPythonの辞書にキーとして
#!/usr/bin/python
# coding=UTF-8
def filt(word):
dic = {'á':'a','é':'e','í':'i','ó':'o','ú':'u'}
new = ''
for l in word:
new = new + dic[l]
return new
をしかし、私はいくつかの文字列(例えば「árvore」)のための関数を呼び出して、スクリプトを実行すると、私が取得しますこれは:
Traceback (most recent call last): File "filt.py", line 11, in print filt("árvore") File "filt.py", line 8, in filt new = new + dic[l] KeyError: '\xc3'
何が問題なのですか?
ユニコード文字列の場合は、文字列の前に '' u "'が必要です。例: 'u'á''または' new = u'''です。 –
あなたはどのバージョンのPythonを使用していますか? Python 3では、dic [l]をdic.get(l、l)に変更することで、無駄なく動作します。 – Wli
あなたの印刷呼び出しはpy2であることを明白にします。新はあなたに答えを与えた – Wli