本文探讨了三种Python方法去除列表中重复元素:使用functools模块的reduce和lambda表达式,自定义函数结合reduce,以及通过json序列化和去重再反序列化。这些方法适用于不同场景,展示了解决列表重复问题的多种途径。
方法一:
import functools
list_a = [{"name": "Tom", "age": 18}, {"name": "Jerry", "age": 18}, {"name": "Tom", "age": 18}]
unique_list = functools.reduce(lambda x, y: y in x and x or x + [y], list_a, [])
方法二:
from functools import reduce
def list_dict_duplicate_removal(data_list):
run_function = lambda x, y: x if y in x else x + [y]
return reduce(run_function, [[], ] + data_list)
方法三:
def getNonRepeatList(data):
for i in range(len(data)):
data[i] = json.dumps(data[i])
data = list(set(data))
for i in range(len(data)):
data[i] = json.loads(data[i])
return data