This question already has answers here:
Transpose values and key in python dictionary when values are not unique [duplicate]
(4个答案)
18天前关闭。
可以说我有一本字典:
我想用这个字典创建一个函数,从该字典中获取键和值,然后将它们附加到在函数中创建的新字典中。先前词典的值将是新词典中的键。先前词典中的键将是新词典中的值。
公开的结果将是这样
到目前为止,这是我的代码
我该如何解决这个问题?
这是整个代码片段,因此有意义
输出:
(4个答案)
18天前关闭。
可以说我有一本字典:
favorittForfattere={'Per':'Christie','Kari':'Ibsen', \
'Liv':'Rowling','Ola':'Ibsen', \
'Anne':'Allende', 'Jens':'Christie'}
我想用这个字典创建一个函数,从该字典中获取键和值,然后将它们附加到在函数中创建的新字典中。先前词典的值将是新词典中的键。先前词典中的键将是新词典中的值。
公开的结果将是这样
{'Christie': ['Per', 'Jens'], 'Ibsen': ['Kari', 'Ola'], 'Rowling': ['Liv'], 'Allende': ['Anne']}
到目前为止,这是我的代码
def fans(favorittForfattere):
nyFortegnelse = {}
for keys, values in favorittForfattere.items():
nyFortegnelse.update({values:keys})
print(nyFortegnelse)
我该如何解决这个问题?
这是整个代码片段,因此有意义
favorittForfattere={'Per':'Christie','Kari':'Ibsen', \
'Liv':'Rowling','Ola':'Ibsen', \
'Anne':'Allende', 'Jens':'Christie'}
def fans(favorittForfattere):
nyFortegnelse = {}
for keys, values in favorittForfattere.items():
nyFortegnelse.update({values:keys})
print(nyFortegnelse)
fans(favorittForfattere)
最佳答案
将dict.setdefault
与值一起用作列表。
例如:
favorittForfattere={'Per':'Christie','Kari':'Ibsen', 'Liv':'Rowling','Ola':'Ibsen', 'Anne':'Allende', 'Jens':'Christie'}
def fans(favorittForfattere):
nyFortegnelse = {}
for key, value in favorittForfattere.items():
nyFortegnelse.setdefault(value, []).append(key)
print(nyFortegnelse)
fans(favorittForfattere)
输出:
{'Allende': ['Anne'],
'Christie': ['Per', 'Jens'],
'Ibsen': ['Kari', 'Ola'],
'Rowling': ['Liv']}
09-25 22:21