Python 如何删除一个列表(list)中的重复元素【面试题详解】

今天爱分享给大家带来Python 如何删除一个列表(list)中的重复元素【面试题详解】,希望能够帮助到大家。

多人学习python,不知道从何学起。

很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。

很多已经做案例的人,却不知道如何去学习更加高深的知识。

那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤

QQ群:1057034340

删除列表中重复的元素有多种方式,下面介绍五种删除的方法。

方法一:使用集合 (set) 的方式

elements = ["a", "a", "b", "c", "c", "b", "d"]
e = list(set(elements))
print(e)

这种方法利用 set 中的元素不可重复的特性去重。除此之外,如果要保持列表元素的原来顺序,那么可以利用 list 类的 sort 方法:

elements = ["a", "a", "b", "c", "c", "b", "d"]
e = list(set(elements))
e.sort(key=elements.index)
print(e)  # ['a', 'b', 'c', 'd']

方法二:使用字典的方式,利用字典 key 的唯一性

# 使用字典的方式,利用字典 key 的唯一性
elements = ["a", "a", "b", "c", "c", "b", "d"]
# e = list({}.fromkeys(elements))
e = list({}.fromkeys(elements).keys())
print(e)  # ['a', 'b', 'c', 'd']

这种方法利用字典的键值不能重复的特性来去重。其中,Python 函数 dict.fromkeys(seq[.value]) 用于创建一个新字典,以序列 seq 中元素做字典的值,value 为字典所有键对应的初始值,如下所示:

方法三:列表推导的方式

elements = ["a", "a", "b", "c", "c", "b", "d"]
e = []
for i in elements:
    if i not in e:
        e.append(i)
print(e)

方法四:count计数

elements = ["a", "a", "b", "c", "c", "b", "d"]
n = 0
while n < len(elements):
    if elements.count(elements[n]) > 1:
        elements.remove(elements[n])
        continue
    n += 1
print(elements)  # ['a', 'c', 'b', 'd']

方法五:reduce 函数

from functools import reduce

elements = ["a", "a", "b", "c", "c", "b", "d"]
v = reduce(lambda x, y: x if y in x else x + [y], [[]] + elements)
print(v)  # ['a', 'b', 'c', 'd']
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值