当前位置: 首页 > 面试题库 >

使用Python对字典进行反向映射

蒋正平
2023-03-14
问题内容

如果我有一个名为ref的字典,如下所示

ref = {}
ref["abc"] = "def"

我可以从“ abc”获得“ def”

def mapper(from):
    return ref[from]

但是,如何从“ def”变为“ abc”?

def revmapper(to):
    ??????

问题答案:

如果您经常这样做,则需要构建反向字典:

>>> rev_ref = dict((v,k) for k,v in ref.iteritems())
>>> rev_ref
{'def': 'abc'}

>>> def revmapper(to):
...    return rev_ref[to]

如果它很少见,并且您不关心它的效率低下,请执行以下操作:

>>> def revmapper(to):
...    for k,v in ref.iteritems():
...      if v == to: return k


 类似资料:
  • 问题内容: 给定这样的字典: 如何将这张地图倒置即可: 问题答案: Python 3+: Python 2:

  • 问题内容: 给定这样的字典: 如何将这张地图倒置即可: 问题答案: 对于Python 2.7.x 对于

  • rank ▲ ✰ vote url 11 867 379 1107 url 用字典的值对字典进行排序 我有个字典,字典的值来自于数据库:一个是字符串,一个是数字.字符串是唯一的,所以键就是字符串. 我可以用键来排序,但是怎么用值来排序呢? 注:我已经看过另一个问题怎样对列表中的字典的键值对字典进行排序?,或许这种方法可以,但是我确实只需要一个字典,我想看看还有其他更好的方法. 对字典进行排序是不可

  • 本文向大家介绍python对字典进行排序实例,包括了python对字典进行排序实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。 具体实现方法如下: 程序运行结果为: 希望本文所述对大家Python程序设计的学习有所帮助。

  • 问题内容: 仍在学习python(最后!),还不能完全绕过这个问题。我想做的是使用列表中的第三项按值对列表字典进行排序。当值只是一个数字或字符串时,按值对字典排序很容易,但是这个列表让我感到困惑。 例: 我希望能够按每个列表中第三个值的顺序遍历字典,在这种情况下为9、3、11。 非常感谢您的帮助! 问题答案: 这是执行此操作的一种方法: 该参数的的功能,可以让您导出列表中的每个元素的排序键。 要遍

  • 问题内容: 我有一个字典,其中每个键都引用一个int值。根据值将键排序到列表中的最佳方法是什么? 问题答案: mydict = {‘a’:1,’b’:3,’c’:2} >>> sorted(mydict, key=lambda key: mydict[key]) [‘a’, ‘c’, ‘b’]

  • 我有一个映射定义为 其中定义如下: 反向映射是使用处理的。如何为反向映射指定自定义映射?

  • 问题内容: 我有以下字典。 如何根据排序。因此,结果字典将如下所示。 问题答案: 从订购的项目元组列表构造一个: (假设Python 3,在Python 2中应该做同样的事情。)