所以我在Python上编写代码,但我对语言知之甚少,所以我遇到了一些问题。我想做的是: 例如,我有一个音乐类型列表(摇滚,流行,嘻哈)和一个分类列表(坏,好,正常),我有一个字典(genredict),我想做的是当我跑步我的代码,每次它达到一个类型,我会得到它的分类并增加一个。例如:
genredict['rock'] = 'good', ++1 'something like this, for sure this part won't work'
我想为每个类型创建一个字典,但我的列表中有很多类型,所以它不是解决问题的最佳方法。所以任何人都知道如何在字典中保存一个键和多个值,其中一个值可以递增而另一个值是常量?
感谢帮助人员。
答案 0 :(得分:1)
我会使用嵌套字典,最简单的实现方法是使用defaultdict
Counter
:
>>> from collections import Counter, defaultdict
>>> genredict = defaultdict(Counter)
>>> genredict
defaultdict(<class 'collections.Counter'>, {}) # starts off empty
>>> genredict['rock']['good'] += 1 # increment appropriate genre/rating
>>> genredict['blues']['normal'] += 1
>>> genredict
defaultdict(<class 'collections.Counter'>,
{'blues': Counter({'normal': 1}), 'rock': Counter({'good': 1})})
>>> genredict['rock']['good'] # retrieve current score
1