python - python可以一次将相同的值分配给不同的键吗?
问题描述
可以创建这样的数据结构吗?
w = {'London', 'Glasgow', 'Dublin' : 'rainy' , 'Paris', 'Berlin': 'cloudy', 'Tokyo', 'Montevideo' : 'sunny' }
(当然,上面的语法无效)
我想避免写:
w = {'London' : 'rainy' , 'Glasgow' : 'rainy', 'Dublin' : 'rainy' , 'Paris' : 'cloudy' , 'Berlin': 'cloudy', 'Tokyo' : 'sunny' , 'Montevideo' : 'sunny' }
有没有办法缩短它,然后轻松访问每个值的值?
解决方案
您可以dict.fromkeys
多次使用并合并结果:
w = dict(
**dict.fromkeys(['London', 'Glasgow', 'Dublin'], 'rainy'),
**dict.fromkeys(['Paris', 'Berlin'], 'cloudy'),
)
有许多不同的方法可以合并 dicts。创建时使用多个**
运算符dict
只是其中之一。
推荐阅读
- powershell - 使用 PowerShell 来自 Google 表格的 DL CSV
- ruby-on-rails - 每天只获取一条记录
- amazon-web-services - 使用 AWS CLI 'describe-instances' 从两个级别检索元素
- java - Testdome - DecoratorStream Java
- r - 从事务行在 R 中创建矩阵
- angular - 无法访问 Firestore 集合 ID
- javascript - 消费 Kafka 主题后发送 HTTP 响应
- canvas - 无法使用 Konva 将 PDF 图像作为图像对象加载到 HTML5 画布中
- cmake - 如果未构建目标,则跳过 CTest
- android - 如何在 View Holder 上的 OnClick 适配器中获取适配器位置而不为空?