加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中,如何从一个或多个列表中删除重复项?

发布时间:2020-12-20 12:09:42 所属栏目:Python 来源:网络整理
导读:参见英文答案 Removing duplicates in lists????????????????????????????????????44个 例如,如果我有: a = ["apples","bananas","cucumbers","bananas"] 我怎么能删除重复的“香蕉”,以便: a = ["apples","cucumbers"] 另外,如果我有: a = ["apples","cu
参见英文答案 > Removing duplicates in lists????????????????????????????????????44个
例如,如果我有:

a = ["apples","bananas","cucumbers","bananas"]

我怎么能删除重复的“香蕉”,以便:

a = ["apples","cucumbers"]

另外,如果我有:

a = ["apples","cucumbers"]

b = ["pears","apples","watermelons"]

我怎么能从两个列表中删除重复的“苹果”,以便:

a = ["bananas","watermelons"]

解决方法

基于集合的解决方案不保留项目的顺序.以下内容将按顺序保留项目并删除除第一次出现之外的所有项目,使用辅助设置来跟踪已经看到的项目.

seen = set()
a = [seen.add(item) or item for item in a if item not in seen]

如果要重用相同的列表对象,可以这样做:

seen = set()
a[:] = (seen.add(item) or item for item in a if item not in seen)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读