以下是一个示例代码,演示如何按类别和帖子格式对帖子进行筛选:
# 假设有一个帖子列表
posts = [
{'title': 'Post 1', 'category': 'Python', 'format': 'text'},
{'title': 'Post 2', 'category': 'JavaScript', 'format': 'video'},
{'title': 'Post 3', 'category': 'Python', 'format': 'text'},
{'title': 'Post 4', 'category': 'Python', 'format': 'image'},
{'title': 'Post 5', 'category': 'JavaScript', 'format': 'text'},
]
# 定义一个函数,用于按类别和帖子格式筛选帖子
def filter_posts(posts, category=None, post_format=None):
filtered_posts = []
for post in posts:
if category and post['category'] != category:
continue
if post_format and post['format'] != post_format:
continue
filtered_posts.append(post)
return filtered_posts
# 按类别筛选Python帖子
python_posts = filter_posts(posts, category='Python')
print('Python帖子:')
for post in python_posts:
print(post['title'])
print()
# 按帖子格式筛选text格式帖子
text_posts = filter_posts(posts, post_format='text')
print('text格式帖子:')
for post in text_posts:
print(post['title'])
print()
# 同时按类别和帖子格式筛选
filtered_posts = filter_posts(posts, category='Python', post_format='text')
print('Python类别和text格式的帖子:')
for post in filtered_posts:
print(post['title'])
这段代码定义了一个filter_posts
函数,它接受一个帖子列表以及可选的类别和帖子格式参数。函数根据传入的参数筛选帖子,并返回筛选后的结果列表。通过调用filter_posts
函数并传入不同的参数,可以实现按类别和帖子格式的筛选。