Python中如何最快的删除一个list中重复的值同时保证原有顺序【面试题详解】

今天爱分享给大家带来Python中如何最快的删除一个list中重复的值同时保证原有顺序【面试题详解】,希望能够帮助到大家。


def f7(seq):
    seen = set()
    seen_add = seen.add
    return [ x for x in seq if x not in seen and not seen_add(x)]

为什么要建立一个到seen.add函数的引用seen_add,而不是直接调用seen.add()呢?Python是一个动态语言,如果使用seen.add(),迭代器每次都要解析seen.add()函数,相比直接调用一个局部变量seen_add会消耗更多资源。(评论问,为什么迭代器每次都要解析seen.add())seen.add()可能会在每次迭代中可能会发生变化,而Python的Runtime没有智能到发现这一变化,因此安全起见,每次迭代过程中,迭代器都会重新检查这一对象。

原文链接:https://blog.itblood.com/4448.html,转载请注明出处。
0
黯蚀之魔女 Ver1.0.2 官方中文步兵正式版+自带全回想解放[更新/全CV][电脑/5.7G]黯蚀之魔女 Ver1.0.2 官方中文步兵正式版+存档(エクリプスの魔女) [超大作RPG/全动态/官中]
黯蚀之魔女 Ver1.0.2 官方中文步兵正式版+自带全回想解放[更新/全CV][电脑/5.7G]黯蚀之魔女 Ver1.0.2 官方中文步兵正式版+存档(エクリプスの魔女) [超大作RPG/全动态/官中]
8分钟前 有人购买 去瞅瞅看

站点公告

显示验证码
没有账号?注册  忘记密码?