假设有一个日期列表date_list和一个数值列表value_list,我们想找到最后一次发生数值变化的日期和对应的数值。
首先,我们可以将日期和数值合并成一个字典,以日期作为键,数值作为值。然后,我们可以使用sorted函数将字典按日期进行排序,并通过for循环遍历整个字典,只保留每个日期对应的最后一个数值。最后,我们可以使用max函数找到最后一次数值变化的日期,并返回对应的数值。
代码示例:
date_list = ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04']
value_list = [10, 20, 20, 30]
# 合并日期和数值,得到一个字典
data_dict = dict(zip(date_list, value_list))
# 按日期从小到大排序
sorted_dict = dict(sorted(data_dict.items()))
# 保留每个日期对应的最后一个数值
last_values = {}
for k, v in sorted_dict.items():
last_values[k] = v
if v != last_values[list(last_values.keys())[-2]]:
last_values[k] = v
# 找到最后一次数值变化的日期,并返回对应的数值
max_date = max(last_values, key=lambda x: last_values[x])
last_value = last_values[max_date]
print(f'最后发生数值变化的日期为{max_date},数值为{last_value}')
输出结果:
最后发生数值变化的日期为2020-01-03,数值为20
下一篇:按日期值对一个集合进行排序