Pythonic方式将格式应用于字典中没有f字符串的所有字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pythonic方式将格式应用于字典中没有f字符串的所有字符串相关的知识,希望对你有一定的参考价值。

我有一个字典,看起来像这样:

d = {
  'hello': 'world{x}',
  'foo': 'bar{x}'
}

什么是在字典中的所有值上运行format的pythonic方法?例如,使用x = 'TEST',最终结果应为:

{
  'hello': 'worldTEST',
  'foo': 'barTEST'
}

注意:我正在从另一个模块加载d,所以不能使用f-strings。

答案

如果你使用Python-3.6 + pythonic方式是使用f-strings,否则字典理解:

In [147]: x = 'TEST'

In [148]: d = {
     ...:   'hello': f'world{x}',
     ...:   'foo': f'bar{x}'
     ...: }

In [149]: d
Out[149]: {'foo': 'barTEST', 'hello': 'worldTEST'}

在python <3.6中:

d = {
     'hello': f'world{var}',
     'foo': f'bar{var}'
    }

{k: val.format(var=x) for k, val in d.items()}
另一答案

在python 3.6中使用f字符串,然后运行for循环以使用format方法将更改应用于dict中的每个值。

x = 'TEST'
d = {
     'hello': f'world{x}',
      'foo': f'bar{x}'

    }

for value in d.values():
     value.format(x)
     print(value)

这可以获得您正在寻找的输出:

 worldTEST
 barTEST

以上是关于Pythonic方式将格式应用于字典中没有f字符串的所有字符串的主要内容,如果未能解决你的问题,请参考以下文章

浅谈python 字典对象的 Pythonic 用法

字典对象的 Pythonic 用法(上篇)

将 CSV 值读入列表字典的大多数 Pythonic 方式

将正则表达式应用于数据框的所有列的 Pythonic 方式

寻找一种更 Pythonic 的方式将一个充满字典的列表合并为一个?

解析字典的最快pythonic方法,其中值是字节字符串化的json对象