这里给出一个示例代码,实现按ID返回最近的5次旅行记录的功能。
假设有一个旅行记录的数据集合,每条记录包含ID、旅行时间等信息。
# 假设旅行记录数据集合
travel_records = [
{"ID": 1, "time": "2022-01-01"},
{"ID": 2, "time": "2022-01-02"},
{"ID": 1, "time": "2022-01-03"},
{"ID": 3, "time": "2022-01-04"},
{"ID": 1, "time": "2022-01-05"},
{"ID": 4, "time": "2022-01-06"},
{"ID": 1, "time": "2022-01-07"},
{"ID": 2, "time": "2022-01-08"},
{"ID": 1, "time": "2022-01-09"},
{"ID": 5, "time": "2022-01-10"},
]
def get_recent_travel_records_by_id(id):
# 根据ID过滤出指定的旅行记录
filtered_records = [record for record in travel_records if record["ID"] == id]
# 按旅行时间倒序排序
sorted_records = sorted(filtered_records, key=lambda x: x["time"], reverse=True)
# 返回最近的5条旅行记录
return sorted_records[:5]
# 示例使用
id = 1
recent_records = get_recent_travel_records_by_id(id)
print(f"ID为{id}的最近5次旅行记录:")
for record in recent_records:
print(record)
输出结果:
ID为1的最近5次旅行记录:
{'ID': 1, 'time': '2022-01-09'}
{'ID': 1, 'time': '2022-01-07'}
{'ID': 1, 'time': '2022-01-05'}
{'ID': 1, 'time': '2022-01-03'}
{'ID': 1, 'time': '2022-01-01'}
以上代码中,通过列表推导式和lambda表达式来过滤和排序旅行记录。最后,可以根据需要自定义输出格式。