dec*_*tle 12 python python-2.7
Python新手在这里.我想知道是否有人可以帮助KeyError我在使用字典进行字符串插值时得到的str.format.
dictionary = {'key1': 'val1', '1': 'val2'}
string1 = 'Interpolating {0[key1]}'.format(dictionary)
print string1
Run Code Online (Sandbox Code Playgroud)
以上工作正常,产量:
Interpolating val1
Run Code Online (Sandbox Code Playgroud)
但是请执行以下操作:
dictionary = {'key1': 'val1', '1': 'val2'}
string2 = 'Interpolating {0[1]}'.format(dictionary)
print string2
Run Code Online (Sandbox Code Playgroud)
结果是:
Traceback (most recent call last):
File "test.py", line 3, in <module>
string2 = 'Interpolating {0[1]}'.format(dictionary)
KeyError: 1L
Run Code Online (Sandbox Code Playgroud)
所以问题似乎在于将数字键解释为列表索引,恕我直言. 有什么方法可以解决这个问题吗? (即传达这是一个字典键)
如果之前已经问过这个问题,TIA并道歉(找不到与我的搜索相关的任何内容).
小智 6
我认为你在寻找的是:
dictionary = {'key1': 'val1', '1': 'val2'}
string2 = 'Interpolating {key1}'.format(**dictionary)
print string2
Run Code Online (Sandbox Code Playgroud)