以下是一个示例代码,演示如何按照月份筛选一个列表:
from datetime import datetime
# 定义一个函数,根据月份筛选列表
def filter_by_month(lst, month):
filtered_lst = []
for item in lst:
# 获取每个列表项的日期
date_str = item['date']
date = datetime.strptime(date_str, '%Y-%m-%d')
# 检查月份是否匹配
if date.month == month:
filtered_lst.append(item)
return filtered_lst
# 模拟一个包含日期的列表
data_list = [{'name': 'Item 1', 'date': '2022-01-15'},
{'name': 'Item 2', 'date': '2022-02-10'},
{'name': 'Item 3', 'date': '2022-01-25'},
{'name': 'Item 4', 'date': '2022-03-05'},
{'name': 'Item 5', 'date': '2022-02-20'}]
# 调用函数,筛选出1月份的列表项
filtered_data = filter_by_month(data_list, 1)
# 打印筛选结果
for item in filtered_data:
print(item['name'], item['date'])
运行以上代码,会打印出1月份的列表项:
Item 1 2022-01-15
Item 3 2022-01-25
这个示例代码中,我们定义了一个函数filter_by_month
,接受一个列表和一个月份作为参数。函数遍历列表中的每个项,将日期字符串转换为datetime
对象,并检查月份是否与给定的月份匹配。如果匹配,则将项添加到一个新的列表中。最后,返回筛选后的列表。
注意,这里使用了datetime.strptime
函数将日期字符串转换为datetime
对象。strptime
函数的第一个参数是日期字符串,第二个参数是日期格式。在示例中,日期格式为'%Y-%m-%d'
,表示年份-月份-日期的形式。
上一篇:按月份筛选计划列表