mo_*_*hun 2 python dictionary count python-2.7
我正在尝试计算指定键出现在我的dicts列表中的次数.我已经使用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]
Run Code Online (Sandbox Code Playgroud)
"条目"数据有大约60k条目,看起来像这样:
[{'album': 'Nikki Nack', 'song': 'Find a New Way', 'datetime': '2014-12-03 09:08:00', 'artist': 'tUnE-yArDs'},]
Run Code Online (Sandbox Code Playgroud)
您可以将其解压缩,将其放入列表中,然后计算列表的长度.
key_artists = [k['artist'] for k in entries if k.get('artist')]
len(key_artists)
Run Code Online (Sandbox Code Playgroud)
编辑:如果您的数据很大,使用生成器表达式可能会更好:
key_artists = (1 for k in entries if k.get('artist'))
sum(key_artists)
Run Code Online (Sandbox Code Playgroud)
第二编辑:
对于特定的艺术家,你会替换if k.get('artist')
为if k.get('artist') == artist_pick
第3编辑:你也可以循环,如果你对理解或生成器不满意,或者你觉得增强代码可读性
n = 0 # number of artists
for k in entries:
n += 1 if k.get('artist') == artist_pick else 0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9980 次 |
最近记录: |