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
eglabelleft
等labelright
。
我正在努力理解的是格式化是如何发生的。我的猜测是字典理解的每次迭代都会运行,例如
- 获得第一个项目
sides
->
left
- 在字典中创建一个新的键值对,但是使键
label
+left
=labelleft
sides
为字典中的所有项目存储键、值对并重复。
我在程序流程方面是正确的,还是我完全搞砸了?
解决方案
推荐阅读
- distance - 测量两个概率分布之间的重叠
- android - 我可以用带红外线的安卓手机来控制灯条吗
- c# - 简洁的嵌套对象
- node.js - npm install 导致无法读取未定义的属性“名称”
- windows - 如何使用命令行在 Windows 10 中查找和替换文件名中的字符?
- laravel - Laravel Sail on Windows Subsystem for Linux (wsl)
- javascript - 如何在antd pro中更改Form.List的默认字段
- azure - 是否可以使用通过 API 管理端点访问的 App Service Auth 更改 Azure Function App 的重定向 URI?
- r - 在 R 中使用 plotly 对 x 轴进行排序
- excel - UserForm中Excel文本格式化的解决方法