首页 > 解决方案 > 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' }

有没有办法缩短它,然后轻松访问每个值的值?

标签: pythondictionary

解决方案


您可以dict.fromkeys多次使用并合并结果:

w = dict(
    **dict.fromkeys(['London', 'Glasgow', 'Dublin'], 'rainy'),
    **dict.fromkeys(['Paris', 'Berlin'], 'cloudy'),
)

许多不同的方法可以合并 dicts。创建时使用多个**运算符dict只是其中之一。


推荐阅读