下面是一个示例解决方案,使用Python编写的代码:
# 示例数据
data = [
{'uid': 'user1', 'post_id': 1},
{'uid': 'user1', 'post_id': 2},
{'uid': 'user2', 'post_id': 1},
{'uid': 'user2', 'post_id': 3},
{'uid': 'user3', 'post_id': 2},
{'uid': 'user3', 'post_id': 3},
{'uid': 'user3', 'post_id': 4}
]
def count_unique_views(data):
view_count = {}
for item in data:
uid = item['uid']
if uid not in view_count:
view_count[uid] = set()
view_count[uid].add(item['post_id'])
return {uid: len(posts) for uid, posts in view_count.items()}
result = count_unique_views(data)
print(result)
上述代码中,我们定义了一个count_unique_views
函数来计算独立帖子浏览次数。该函数使用一个字典view_count
来跟踪每个用户(由uid
标识)浏览的帖子(由post_id
标识)。我们使用集合来确保每个帖子只计数一次。
最后,我们调用count_unique_views
函数,并打印结果。根据示例数据,将输出{'user1': 2, 'user2': 2, 'user3': 3}
,表示每个用户浏览的独立帖子数。