以下是一个示例代码,演示如何按小时和帖子进行分组:
import datetime
from collections import defaultdict
# 假设有一个包含帖子发布时间的列表
posts = [
{'id': 1, 'title': 'Post 1', 'created_at': datetime.datetime(2021, 1, 1, 10, 30)},
{'id': 2, 'title': 'Post 2', 'created_at': datetime.datetime(2021, 1, 2, 9, 45)},
{'id': 3, 'title': 'Post 3', 'created_at': datetime.datetime(2021, 1, 2, 11, 15)},
{'id': 4, 'title': 'Post 4', 'created_at': datetime.datetime(2021, 1, 3, 14, 0)},
{'id': 5, 'title': 'Post 5', 'created_at': datetime.datetime(2021, 1, 3, 16, 30)},
]
# 创建一个字典,用于将帖子按小时进行分组
grouped_posts = defaultdict(list)
# 遍历每个帖子
for post in posts:
# 获取帖子的小时部分
hour = post['created_at'].hour
# 将帖子添加到对应小时的列表中
grouped_posts[hour].append(post)
# 打印每个小时的帖子
for hour, posts in grouped_posts.items():
print(f"Hour {hour}:")
for post in posts:
print(f"- {post['title']}")
这个示例使用了datetime
模块来表示帖子的发布时间,并使用defaultdict
来创建一个默认值为列表的字典grouped_posts
。然后,遍历每个帖子,获取其小时部分,并将帖子添加到对应小时的列表中。最后,通过遍历grouped_posts
字典来打印每个小时的帖子。
上一篇:按小时和天计算员工人数
下一篇:按小时和星期几分组绘制时间序列