以下是一个示例代码,用于按照两个不同的分类对帖子进行分组:
class Post:
def __init__(self, title, category1, category2):
self.title = title
self.category1 = category1
self.category2 = category2
# 创建一些帖子对象
post1 = Post("Post 1", "Category A", "Category X")
post2 = Post("Post 2", "Category B", "Category Y")
post3 = Post("Post 3", "Category A", "Category Z")
post4 = Post("Post 4", "Category C", "Category X")
post5 = Post("Post 5", "Category B", "Category Z")
# 将帖子添加到列表中
posts = [post1, post2, post3, post4, post5]
# 创建一个字典用于存储分类1的分组
grouped_by_category1 = {}
# 按分类1进行分组
for post in posts:
category1 = post.category1
if category1 in grouped_by_category1:
grouped_by_category1[category1].append(post)
else:
grouped_by_category1[category1] = [post]
# 创建一个字典用于存储分类2的分组
grouped_by_category2 = {}
# 按分类2进行分组
for post in posts:
category2 = post.category2
if category2 in grouped_by_category2:
grouped_by_category2[category2].append(post)
else:
grouped_by_category2[category2] = [post]
# 打印两个分类的分组结果
print("Grouped by Category 1:")
for category, posts in grouped_by_category1.items():
print(category)
for post in posts:
print("-", post.title)
print("\nGrouped by Category 2:")
for category, posts in grouped_by_category2.items():
print(category)
for post in posts:
print("-", post.title)
这段代码创建了一个Post
类来表示帖子,其中包含标题和两个分类属性(category1
和category2
)。然后创建了一些帖子对象,并将其添加到一个列表中。
接下来,创建了两个空字典grouped_by_category1
和grouped_by_category2
来存储按分类1和分类2分组的结果。
然后,使用两个循环分别按分类1和分类2进行分组。对于每个帖子,首先获取其分类属性的值,然后检查该值是否已经在对应的字典中存在。如果存在,将帖子添加到该分类组中;如果不存在,则创建一个新的分类组并将帖子添加到其中。
最后,使用两个嵌套循环打印出按分类1和分类2分组的结果。
请注意,这只是一个示例代码,实际上,你可以根据你的需求进行修改和扩展。
上一篇:按照两个标准排序