我有一个json数据,我想了解人们出现在列表中的次数。这是一种在列表中查找事件的方法。
[
[
{
"user": "User-1",
},
{
"user": "User-2",
},
],
[
{
"user": "User-3",
},
{
"user": "User-2",
},
]
]
users = Counter(k['user']
for k in leaderboards if k.get('user'))
但这给我一个错误。 'list' object has no attribute 'get'
我该如何解决?
谢谢。
答案 0 :(得分:2)
您快要接近了。您将需要再次遍历,因为您有一个列表列表。一个循环可让您进入内部列表,而下一个循环可帮助您迭代内部列表:
from collections import Counter
leaderboards = [
[
{
"user": "User-1",
},
{
"user": "User-2",
},
],
[
{
"user": "User-3",
},
{
"user": "User-2",
},
]
]
users = Counter(x['user'] for k in leaderboards for x in k if x.get('user'))
print(users)
# Counter({'User-2': 2, 'User-1': 1, 'User-3': 1})