我有一本这样的字典:
mydict = {1: {'shooting': 9,
'photography': 43,
'portrait': 17,
'portraitphotography': 4,
'model': 40,
'modeling': 10,
'lovemyjob': 13,
'buzzcut': 86}
2: {'lowbun': 18,
'sleekhair': 4,
'girl': 94,
'profile': 4,
'lips': 31,
'choker': 16,
'gold': 16,
'minimalist': 1}
3: {'chaching': 1,
'newhair': 20,
'happy': 31,
'besthairdresser': 2,
'hairdresser': 85,
'treatyoself': 1,
'loveit': 12,
'brunette': 36,
'foils': 325}
我希望获得每个字典中的前3个值,因此它应该如下所示:
{1: {'buzzcut': 86
'photography': 43,
'model': 40}
2: {'girl': 94,
'lips': 31,
'lowbun': 18}
3: {'foils': 325
'hairdresser': 85,
'brunette': 36}
我试过使用
mydict = dict(sorted(mydict.iteritems(), key=operator.itemgetter(1), reverse=True)[:3])
但是我得到了错误not supported between instances of 'dict' and 'dict'
有人能帮忙吗
您可以通过简单的词典理解来实现这一点:
结果:
使用
collections.Counter
的简单有效的方法:您可以使用sorted()按值对字典进行排序,它将返回一个元组排序列表,第一个元组包含键,第二个元组包含键的值
把前3个放进字典,你就完成了
相关问题 更多 >
编程相关推荐