0

在 Ruby 中,您可以执行以下操作:

a = 4
b = 5
match = {}
match["#{a}-#{b}"] = 0

然后,如果我说:

match["4-5"]

结果为 0。

我可以在 python 字典中做类似的事情吗?我似乎无法让字符串格式与字典一起使用。

编辑:

在 Python 3+ 中使用 f 字符串,现在可以执行以下操作:

match[f"{a}-{b}"] = 0
4

1 回答 1

0

问题

  • 如何在 python 中做 ruby​​ 样式的字符串变量占位符。

解决方案

  • Python 有许多用于进行字符串变量插值的选项
  • 其中,有几个突出的方法:
    • str.format在 python 2.6 及以上版本中
    • python 3.6 及更高版本中的 f 字符串

例子

  import pprint
  ## using python str.format
  match     = {}
  a = 4
  b = 5
  match["{a}-{b}".format(a=a,b=b)] = 0
  pprint.pprint(match)
  pass

  ## result
  {'4-5': 0}      

也可以看看

于 2019-04-02T20:12:46.053 回答