python 消除重复元素

2022-01-10 08:43:24 浏览数 (1)

1、set

a [1, 5, 2, 1, 9, 1, 5, 10] set(a) {1, 2, 10, 5, 9}

2、自定义消除重复元素的集合 def dedupe(items, key=None): seen = set() for item in items: val = item if key is None else key(item) if val not in seen: yield item seen.add(val)

a = [ {'x':1, 'y':2}, {'x':1, 'y':3}, {'x':1, 'y':2}, {'x':2, 'y':4}] list(dedupe(a, key=lambda d: (d['x'],d['y']))) [{'x': 1, 'y': 2}, {'x': 1, 'y': 3}, {'x': 2, 'y': 4}] list(dedupe(a, key=lambda d: d['x'])) [{'x': 1, 'y': 2}, {'x': 2, 'y': 4}]

0 人点赞