ここにPythonの新植物。KeyError
で文字列補間に辞書を使用しているときに、誰かが私が得ているのを手伝ってくれるかどうか疑問に思いましたstr.format
。
dictionary = {'key1': 'val1', '1': 'val2'}
string1 = 'Interpolating {0[key1]}'.format(dictionary)
print string1
上記は正常に機能し、次のようになります。
Interpolating val1
ただし、次のことを行います。
dictionary = {'key1': 'val1', '1': 'val2'}
string2 = 'Interpolating {0[1]}'.format(dictionary)
print string2
結果:
Traceback (most recent call last):
File "test.py", line 3, in <module>
string2 = 'Interpolating {0[1]}'.format(dictionary)
KeyError: 1L
したがって、問題は、数字キーをリストインデックス、IMHOとして解釈することにあるようです。これを回避する方法はありますか?(つまり、これが代わりに辞書キーであることを伝えます)
TIAと、この質問が以前に行われたことがある場合はお詫びします(私のsearch-fuに関連するものは何も見つかりませんでした)。
編集1:以前に誤って指摘されたように、キーは数値ではありません。代わりに、 BrenBarnが指摘したように、数値の文字列表現です。