在Python中查找快速默认别名

use*_*262 3 python

对于更大的dicts,有更快的方法来执行以下操作吗?

aliases = {
            'United States': 'USA',
            'United Kingdom': 'UK',
            'Russia': 'RUS',
          }
if countryname in aliases: countryname = aliases[countryname]
Run Code Online (Sandbox Code Playgroud)

tru*_*ppo 6

您的解决方案很好,因为字典中"in"为0(1).

你可以做这样的事情来节省一些打字:

countryname = aliases.get(countryname, countryname)
Run Code Online (Sandbox Code Playgroud)

(但我发现你的代码比那更容易阅读)

谈到速度,最好的解决方案取决于是否存在大多数"命中"或"未命中".但是,当涉及差异时,这可能会在纳秒范围内.