更好的单行翻转键和字典值

Mau*_*aus 5 python

我写了一个单行来完成这个:

vocab_tag = dict(zip(*reversed(zip(*tag_vocab.items()))))
Run Code Online (Sandbox Code Playgroud)

任何人都可以写一个更易于理解/直接的吗?

Gar*_*tty 14

可读和简短的词典理解可能是最好的:

vocab_tage = {value: key for key, value in tag_vocab.items()}
Run Code Online (Sandbox Code Playgroud)

Pre 2.7,字典理解不存在,但我们可以用dict()生成器表达式简单地替换它们:

vocab_tage = dict((value, key) for key, value in tag_vocab.items())
Run Code Online (Sandbox Code Playgroud)

值得注意的是,这假设没有具有相同值的键(问题中的示例).

  • @Cheezey根本不是真的. (2认同)