Python转置说明

Python transpose explanation

尝试 Python 字典理解。你能帮我理解为什么这会翻转键值对吗?我不明白为什么价值也被翻转了。 (也是凌晨 2 点。)这是一个有趣的语法。

capitals = {'USA': 'Washington, DC','France':'Paris','Italy':'Rome' } ​

capitals_flip = {capitals[key]: key for key in capitals}


capitals_flip

​ {'Paris': 'France', 'Rome': 'Italy', 'Washington, DC': 'USA'}

字典理解是一种语法糖,它允许编写一个循环来更紧凑地构建字典。代码

capitals_flip = {capitals[key]: key for key in capitals}

或多或少类似于

capitals_flip = {}
for key in capitals:
    capitals_flip[capitals[key]] = key

换句话说语法是

new_dict = { <new_dict_key> : <new_dict_value>  for ... }

考虑更简单的示例...

squares = { x: x*x for x in range(10) }

为从 0 到 9 的所有数字构建一个字典,将数字映射到它的平方。