Python3: str.format传入参数报错KeyError解决办法

Python3 str.format传入参数报错KeyError解决办法

  • KeyError错误描述与解决
  • 补充知识

KeyError错误描述与解决

以’w’的方式调用参数,会产生KeyError报错

# 定义变量c
>>>c = {
     'w':'w', 'o': 'o', 'r': 'r', 'l': 'l', 'd': 'd'}
{
     'w':'w', 'o': 'o', 'r': 'r', 'l': 'l', 'd': 'd'}
# 以'w'的方式调用参数,会产生KeyError报错
>>>"Hello, {'w'}{'o'}{'r'}{'l'}{'d'}!".format(**c)
Traceback (most recent call last):
  File "", line 1, in <module>
KeyError: 'w'

解决方案:

# 把单引号去掉就没问题了
>>> "Hello, {o}{r}{l}{d}!".format(**c)
Hello, world!

但是我不懂原理,还需要继续学习。

补充知识

调用dict()生成字典时key的引用仍无需添加单引号。

>>>dict(w='w', o='o', r='r')
{
     'w': 'w', 'o': 'o', 'r': 'r'}

你可能感兴趣的:(python)