以下是按照最老和最新的方式对列表进行分组的示例代码:
from datetime import datetime
def group_by_oldest_and_newest(data):
# 获取最老和最新的时间
oldest_time = min(data, key=lambda x: datetime.strptime(x['date'], '%Y-%m-%d'))
newest_time = max(data, key=lambda x: datetime.strptime(x['date'], '%Y-%m-%d'))
# 分组
oldest_group = [x for x in data if x['date'] == oldest_time['date']]
newest_group = [x for x in data if x['date'] == newest_time['date']]
return oldest_group, newest_group
# 示例数据
data = [
{'name': 'Alice', 'date': '2021-01-01'},
{'name': 'Bob', 'date': '2020-12-31'},
{'name': 'Charlie', 'date': '2021-01-01'},
{'name': 'Dave', 'date': '2021-01-02'},
{'name': 'Eve', 'date': '2020-12-31'}
]
# 按最老和最新的方式进行分组
oldest_group, newest_group = group_by_oldest_and_newest(data)
print("最老的分组:")
for item in oldest_group:
print(item)
print("\n最新的分组:")
for item in newest_group:
print(item)
输出结果为:
最老的分组:
{'name': 'Bob', 'date': '2020-12-31'}
{'name': 'Eve', 'date': '2020-12-31'}
最新的分组:
{'name': 'Dave', 'date': '2021-01-02'}
上一篇:按最近日期状态进行查询过滤