数据去重 reduce
针对一个列表进行去重
from functools import reduce def deduplication(list_data): """列表数据去重""" # [[1, 2], [1, 2], [1, 2, 3]] function = lambda x, y: x if y in x else x + [y] return reduce(function, [[]] + list_data)
再加入一些条件,判断后去重
def remove_zero_elements(list_data): """ 删除列表中的包含0的和第二个值小于0的元素 a = [[(0, 88)], [(0, 98)], [(16, 98)], [(215, 98)], [(0, 542)], [(16, 542)], [(215, 542)]] """ function = lambda x, y: x if y[0][0] == 0 or y[0][1] < 0 else x + [y] return reduce(function, [[]] + list_data)