要找出按类型和 _id 关系的最后一个值,可以使用Python中的字典(dictionary)来存储数据,并使用列表(list)来保存每个类型的 _id 值。
下面是一个示例代码:
data = [
{"_id": 1, "type": "A", "value": 10},
{"_id": 2, "type": "A", "value": 20},
{"_id": 3, "type": "B", "value": 30},
{"_id": 4, "type": "B", "value": 40},
{"_id": 5, "type": "C", "value": 50},
]
result = {}
for item in data:
type = item["type"]
_id = item["_id"]
value = item["value"]
if type not in result:
result[type] = []
result[type].append((_id, value))
final_values = {}
for type, values in result.items():
values.sort(key=lambda x: x[0]) # 按 _id 排序
final_values[type] = values[-1][1] # 获取最后一个值
print(final_values)
输出结果为:
{'A': 20, 'B': 40, 'C': 50}
此代码首先遍历数据列表,将每个类型的 _id 和 value 值存储在字典 result 中。然后,对于每个类型,根据 _id 值进行排序,并取出最后一个值。最后,将每个类型的最后一个值存储在字典 final_values 中,并打印出来。
上一篇:按类型过滤