以下是一个示例代码,用于按键分组并从给定列表中选择最大日期:
from datetime import datetime
def group_and_select_max_date(data):
# 创建一个空字典用于分组
groups = {}
# 遍历给定列表中的每个元素
for item in data:
# 获取元素的键和日期
key = item[0]
date_str = item[1]
# 将日期字符串转换为日期对象
date = datetime.strptime(date_str, "%Y-%m-%d")
# 如果键不存在于字典中,则将其作为键添加到字典中,并将日期作为对应的值
if key not in groups:
groups[key] = date
# 如果键已经存在于字典中,则比较日期并更新为较大的日期
else:
if date > groups[key]:
groups[key] = date
# 返回每个键对应的最大日期
return groups
# 测试数据
data = [('A', '2021-01-01'), ('B', '2021-02-15'), ('A', '2021-03-10'), ('B', '2021-04-20')]
result = group_and_select_max_date(data)
print(result)
输出结果:
{'A': datetime.datetime(2021, 3, 10, 0, 0), 'B': datetime.datetime(2021, 4, 20, 0, 0)}
在这个示例中,我们使用一个字典来进行分组,并将每个键与最大日期关联起来。我们遍历给定的列表,对于每个元素,我们提取键和日期,并将日期字符串转换为日期对象。然后,我们检查字典中是否已经存在该键,如果不存在,则将其添加到字典中,并将日期作为对应的值。如果键已经存在,则比较日期并更新为较大的日期。最后,我们返回每个键对应的最大日期。
上一篇:按键分组并创建各自值的列表
下一篇:按键分组并将值添加到列表中