python中的反转字典

reversing dictionary in python

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Python reverse / inverse a mapping
Swap keys for unique values in a dictionary in Python

您好,我想了解如何反转和比较字典值:例如:

如果我有一本带关键字的字典:这样的值格式

1
     dicta =  [1:2, 9:8, 4:6, 3:2, 0:7, 1:34, 9:90, 1:8, 67:43, 54:23]

如何反转它,使上面的dicta值变成键,键变成这样的值:

1
     dictb =  [2:1, 8:9, 6:4, 2:3, 7:0, 34:1, 90:9, 8:1, 43:67, 23:54]

我使用的是python 2.5请帮忙


1
dictb = dict ( (v,k) for k, v in dicta.items() )


  • 将dict转换为包含dict.items()的(key,value)对的列表
  • 用reversed()和map()反转list的每个元素:map(reversed, ... )
  • 将(键、值)对列表转换为字典:dict( ... )

    1
    2
    3
    >>> d = {'a': 1, 'b': 2}
    >>> dict(map(reversed, d.items()))
    {1: 'a', 2: 'b'}

  • 试试这个:

    1
    2
    3
    dicatb = {}
    for x,k in dicta.iteritems():
        dictab[k] = x

    字典的语法如下:

    1
    dicta = {1:2, 9:8}

    这将进行转换:

    1
    2
    3
    dictb = {}
    for k in dicta:
      dictb[dicta[k]] = k