30秒学会 Python 片段 · 2017年12月26日

30秒学会 Python 片段 – filter_non_unique

Filters out the non-unique values in a list.

Use a collections.Counter to get the count of each value in the list.
Use list comprehension to create a list containing only the unique values.

代码实现

from collections import Counter

def filter_non_unique(lst):
  return [item for item, count in Counter(lst).items() if count == 1]

使用样例

filter_non_unique([1, 2, 2, 3, 4, 4, 5]) # [1, 3, 5]