可以通过使用set和Lambda函数来进行去重操作。Lambda函数用于从列表中选择特定的键来进行比较和去重。
示例代码:
my_list = [{'name': 'John', 'age': 25},
{'name': 'Jane', 'age': 30},
{'name': 'John', 'age': 25},
{'name': 'Tom', 'age': 35}]
key = 'name'
unique_list = list(set(map(lambda x: x[key], my_list)))
new_list = [max(list(filter(lambda x: x[key] == name, my_list)), key=lambda x:x['age']) for name in unique_list]
print(new_list)
输出结果:
[{'name': 'Tom', 'age': 35}, {'name': 'Jane', 'age': 30}, {'name': 'John', 'age': 25}]
说明:
首先,使用map和Lambda函数从原始列表中提取指定键的值并创建一个唯一的键列表unique_list。
然后,使用filter和Lambda函数从原始列表中选择具有唯一键值的字典。
最后,使用max和Lambda函数从过滤后的字典列表中选择具有最大值的字典作为新列表的元素。
上一篇:按指定格式创建数据摘要
下一篇:按指定键的值检索所有对象