使用说明符和字典理解更新字典时的字符串格式

2024-09-30 20:18:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想问一个关于使用字符串格式更新python字典的问题

我正在学习真实python中关于matplotlib的教程,有一些代码让我感到困惑

sides = ('left', 'right', 'top', 'bottom')
nolabels = {s: False for s in sides}
nolabels.update({'label%s' % s: False for s in sides})
print(nolabels)

前两行很有意义——它只是列出了sides的键和nolabels的初始字典

然而,我试图理解以下几行:

nolabels.update({'label%s' % s: False for s in sides})

我们正在使用字典理解更新nolabels字典,并添加了新的键,这些键由旧键组成,但前面有单词label,例如labelleftlabelright等等

我很难理解格式化是如何发生的。 我的猜测是字典理解的每一次迭代都是运行的

  1. 获取sides{}{}中的第一项
  2. 在字典中创建一个新的键和值对,但要使键label+left=labelleft
  3. 存储sides字典中所有项的键、值对并重复

关于程序流程,我是在正确的路线上,还是我把它完全搞砸了


Tags: 字符串代码infalsefor字典matplotlib格式