30秒学会 Python 片段 · 2023年3月15日

30秒学会 Python 片段 – Filter unique list values

Creates a list with the unique values filtered out.

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

代码实现

from collections import Counter

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

使用样例

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

翻译自:https://www.30secondsofcode.org/python/s/filter-unique