按最高值映射两个词典

时间:2015-02-13 03:48:53

标签: python list python-3.x dictionary

我有两个带字母键的字典,值是数字(我在邮件中出现) 例如生病了:

secretWord = 'cat' 
secret = {'a':123, 't',: 42, 'c' 421}  # => cat
known = {'g':400, 'd': 40, 'o':90}     # => god

所以我想要做的是找到一种方法来将secretWord的字母替换为最高,第二和最小数字所知的字母。所以例如secretWord将成为'上帝'

1 个答案:

答案 0 :(得分:3)

使用sorted按值按字典键排序,然后使用str.join加入密钥:

>>> sorted(known, key=known.get, reverse=True)
['g', 'o', 'd']
>>> ''.join(sorted(known, key=known.get, reverse=True))
'god'