根据现有字典值写入新字典

时间:2018-10-17 20:15:11

标签: python ordereddict

下面是我的字典

bookmap={'Java':'John',"C#":"Rob","Ruby":"John","Rails":"Rob","Python":"Rossum"}

预期输出为

newdict={'John':['Java','Ruby'],'Rob':['C#','Rails'],'Rossum':[Python]}

我的方法: 1)按值对bookmap进行排序,以获取元组列表。怎么办??我该如何进行?

newdict={}
bookmap={'Java':'John',"C#":"Rob","Ruby":"John","Rails":"Rob","Python":"Rossum"}
sortedbookmap=sorted(bookmap.items(),key=operator.itemgetter(1))
print sortedbookmap

使用上面的代码,我得到:

[('Ruby', 'John'), ('Java', 'John'), ('C#', 'Rob'), ('Rails', 'Rob'), ('Python', 'Rossum')]

我尝试遍历此列表项,获取作者姓名,如果> 1,将作者名(作为键)写入newdict,追加书名数组,并将其作为newdict的值插入。我无法完成这部分。

注意:我也尝试从集合中导入OrderedDict,但也无法通过。 任何帮助表示赞赏。

0 个答案:

没有答案