python怎么实现去重后元素相对位置保持不变

这篇“python怎么实现去重后元素相对位置保持不变”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么实现去重后元素相对位置保持不变”文章吧。

在昆都仑等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、网站设计 网站设计制作按需网站开发,公司网站建设,企业网站建设,品牌网站制作,营销型网站,外贸网站制作,昆都仑网站建设费用合理。

题目:写一个删除列表中重复元素的函数,要求去重后元素相对位置保持不变。
def dedup(items):
    no_dup_items = []
    seen = set()
    for item in items:
        if item not in seen:
            no_dup_items.append(item)
            seen.add(item)
    return no_dup_items

如果愿意也可以把上面的函数改造成一个生成器,代码如下所示。

def dedup(items):
    seen = set()
    for item in items:
        if item not in seen:
            yield item
            seen.add(item)

扩展:由于Python中的集合底层使用哈希存储,所以集合的innot in成员运算在性能上远远优于列表,所以上面的代码我们使用了集合来保存已经出现过的元素。集合中的元素必须是hashable对象,因此上面的代码在列表元素不是hashable对象时会失效,要解决这个问题可以给函数增加一个参数,该参数可以设计为返回哈希码或hashable对象的函数。

Python的优点有哪些

1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;

2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;

3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;

4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;

5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。

以上就是关于“python怎么实现去重后元素相对位置保持不变”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。


分享名称:python怎么实现去重后元素相对位置保持不变
标题链接:http://myzitong.com/article/gcdeep.html