【问题标题】:Use .format with string dictionary [duplicate]将 .format 与字符串字典一起使用 [重复]
【发布时间】:2016-10-26 21:42:57
【问题描述】:

我想在我的字符串中使用我的字典参数 这是我的字典

a = {"first_name": "ABC", "last_name": "PQR"}

以下语句给出正确的输出

"{first_name}{last_name}".format(**a)

但我想要以下输出

"{ Hello {first_name} {last_name}.}".format(**a)
>>> '{ Hello ABC PQR.}'

它给出了关键错误

KeyError                                  Traceback (most recent call last)
<ipython-input-50-84fc42fb81f2> in <module>()
----> 1 "{ Hello {first_name} {last_name}.}".format(**a)

KeyError: ' Hello {first_name} {last_name}'

【问题讨论】:

  • 占位符使用{...}。不要将它们用于文字。
  • 你想让它把第一个和最后一个 { } 打印到屏幕上吗? (你想要的输出是“{ Hello ABC PQR.}”吗?)
  • @phogl 是的,我想要这个输出“{ Hello ABC PQR.}”?)

标签: python


【解决方案1】:

您不需要在格式中包含Hello

"{{Hello {first_name} {last_name}.}}".format(**a)

# "{Hello ABC PQR.}"

使用双花括号{{}} 转义{}

【讨论】:

  • 嘿,误读了问题。
  • 其实我想要 "{Hello ABC PQR.}" ,这是我的要求。
  • @MartijnPieters OP 的问题不太清楚,我显然做出了同样的误解
【解决方案2】:

我想你的意思是

"{{ Hello {first_name} {last_name}.}}".format(**a)

【讨论】:

    【解决方案3】:

    你可以通过加倍输入大括号:

    >>> a = {"first_name": "ABC", "last_name": "PQR"}
    >>> "{{ Hello {first_name} {last_name}.}}".format(**a)
    '{ Hello ABC PQR.}'
    

    【讨论】:

      猜你喜欢
      • 2016-11-05
      • 1970-01-01
      • 2014-11-27
      • 2013-12-22
      • 2019-02-26
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多