您如何逆转字典?

时间:2019-09-02 16:09:13

标签: dictionary python-3.7

我正在尝试编写一个函数-dict_reverse(inputDict),该函数返回一个字典,其中该字典具有inputDict的键和值进行了交换。 (您可以假设在inputDict中没有重复的值。)

我不太确定如何解决这个问题,因为我是字典新手。我了解它们的概念以及如何使用它们,但是我对反转它们感到困惑。

def dict_reverse(inputDict):
    '''dict_reverse(inputDict) -> dict
    returns dict with keys/values of inputDict swapped'''
    # add my code here

testDict = {'adam':80,'betty':60,'charles':50}
reversedDict = dict_reverse(testDict)
print(reversedDict)
# should output {80:'adam',60:'betty',50:'charles'} in some order

它应该输出{80:'adam',60:'betty',50:'charles'}

2 个答案:

答案 0 :(得分:1)

Python 3

def dict_reverse(inputDict):
    '''dict_reverse(inputDict) -> dict
    returns dict with keys/values of inputDict swapped'''
    return dict((v,k) for k,v in inputDict.items())

testDict = {'adam':80,'betty':60,'charles':50}
reversedDict = dict_reverse(testDict)
print(reversedDict)

输出{80:'adam',60:'betty',50:'charles'}

答案 1 :(得分:0)

您可以使用dict-comprehension并交换k, v对:

def dict_reverse(inputDict):
    return {v: k for k, v in inputDict.items()}

testDict = {'adam': 80, 'betty': 60, 'charles': 50}
reversedDict = dict_reverse(testDict)
print(reversedDict)

输出:

{80: 'adam', 60: 'betty', 50: 'charles'}
相关问题