我正在尝试计算指定键在我的听写列表中出现的次数。我已经使用 Counter()
和 most_common(n)
对所有键进行计数,但如何找到特定键的计数?我有这段代码,目前无法使用:
def Artist_Stats(self, artist_pick):
entries = TopData(self.filename).data_to_dict()
for d in entries:
x = d['artist']
find_artist = Counter()
print find_artist[x][artist_pick]
“entries”数据有大约 60k 个条目,看起来像这样:
[{'album': 'Nikki Nack', 'song': 'Find a New Way', 'datetime': '2014-12-03 09:08:00', 'artist': 'tUnE-yArDs'},]
最佳答案
您可以提取它,将其放入列表中,然后计算列表的长度。
key_artists = [k['artist'] for k in entries if k.get('artist')]
len(key_artists)
编辑:如果您的数据很大,使用生成器表达式可能会更好:
key_artists = (1 for k in entries if k.get('artist'))
sum(key_artists)
第二次编辑:
对于特定艺术家,您可以将 if k.get('artist')
替换为 if k.get('artist') == artist_pick
第三次编辑:如果您对推导式或生成器不满意,或者您觉得这样可以提高代码可读性,您也可以循环
n = 0 # number of artists
for k in entries:
n += 1 if k.get('artist') == artist_pick else 0
关于python - 如何计算字典列表中特定字典键的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27435614/