假设我有一本字典:
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']}
关于python - 如何将多个元素作为值附加到字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59069763/