简介
在 Python 中,列表是一组有序且可变的项目。有时,我们需要从列表中筛选出唯一值。在这个挑战中,你需要编写一个 Python 函数,该函数接受一个列表作为参数,并返回一个只包含非唯一值的新列表。
过滤列表中的唯一值
编写一个名为 filter_unique(lst) 的 Python 函数,该函数接受一个列表作为参数,并返回一个只包含非唯一值的新列表。要解决这个问题,你可以按照以下步骤进行:
- 使用
collections.Counter获取列表中每个值的计数。 - 使用列表推导式创建一个只包含非唯一值的列表。
你的函数应满足以下要求:
- 函数应接受一个列表作为参数。
- 函数应返回一个只包含非唯一值的新列表。
- 函数不应修改原始列表。
- 函数应区分大小写,即 'a' 和 'A' 被视为不同的值。
def filter_unique(lst):
## 在此处编写你的代码
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]
总结
在这个挑战中,你已经学会了如何使用 Python 从列表中筛选出唯一值。你还学会了如何使用 collections.Counter 来统计列表中每个值出现的次数,以及如何使用列表推导式创建一个只包含非唯一值的新列表。