问答详情

python中列表去重的方式有哪些?

861次观看
标签: 方式 有哪些 列表
老师回答

1、列表遍历法

alist = [1, 2, 2, 4, 4, 6, 7]
b = list()
for i in alist:
    if i not in b:
        b.append(i)
print(b)

2、集合set去重法

处理起来比较简单,但结果不会保留之前的顺序。

ids = [1,4,3,3,4,2,3,4,5,6,1]
ids = list(set(ids))

3、字典中fromkeys()方法

>>> L = [3, 1, 2, 1, 3, 4]
>>> T = {}.fromkeys(L).keys()
>>> T
[1, 2, 3, 4]
 
>>> T.sort(key=L.index)
>>> T
[3, 1, 2, 4]

4、列表推导式法

>>> lst1 = [2, 1, 3, 4, 1]
>>> temp = []
>>> [temp.append(i) for i in lst1 if not i in temp]
[None, None, None, None]
>>> print(temp)
[2, 1, 3, 4]

5、使用sort函数或sorted函数

>>> L = [3, 1, 2, 1, 3, 4]
>>> T = sorted(set(L), key=L.index)
>>> T
[3, 1, 2, 4]

免费直播

    精选课程
    相关推荐
    python中append()和extend()有什么区别?
    刘老师 Python编程

    python列表中,append()和extend()都可以在在原有列表上增加对象,但是使用起来有很大区别。append()用于在列表末尾添加新的对象,任意对象都是可以的,列表只占一个索引位,会修改原来的列表。extend()向列表尾部追加一个列表,对象必须是一个可以迭代的序列,将列表中的每个元素都追加进来,会在已存在的列表中添加新的列表内容。详情请看本文。

    一、append()

    用于在列表末尾添加新的对象,列表只占一个索引位,在原有列表上增加。

    1、语法

    list.append(obj)

    2、参数obj 

    向列表中添加一个对象obj ,即添加到列表末尾的对象;

    任意对象都是可以的;

    直接将整个obj放入列表末尾。

    3、返回值

    无返回值,但是会修改原来的列表。

    4、使用实例

     lia.append(lib)
     lia>>   ['aa', 1, 'bb', None, ['cc', 2, {'dd': 3}]]

    二、extend() 

    向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加。

    1、语法

    list.extend(seq)

    2、参数seq 

    把一个序列seq的内容添加到列表中,即元素列表;

    对象必须是一个可以迭代的序列;

    将seq打散后依次放入列表末尾。

    3、返回值

    无返回值,但会在已存在的列表中添加新的列表内容。

    4、使用实例

    lia.extend(lib)      不能用变量接收
    
    lia>>  ['aa', 1, 'bb', None, 'cc', 2, {'dd': 3}]

    以上就是python中append()和extend()的对比分析,希望能对你有所帮助哦~

    零基础学编程需要学习什么?
    黄老师 Python编程

    1、儿童时期,主要指小学时期:主要对计算机的相关常识有个开端了解,对计算机编程有个根本的认识,经过学习具有开端的编程能力。一般建议从小学3年级以上或者8岁以上开端接触计算机编程,3年级往上对一些文字和英语现已达到了必定的认识水平。不要过于在乎某某国家某某孩子5岁就开端具有编程能力,并取得的了必定的成果。学习的内容目前能够经过scratch积木式的编程渠道进行,比较简单,直观,有利于培育兴趣。近期会录制一套scratch教程,随后发布。

    2、少年时期,主要指初中时期,高中时期:具有必定的编程常识,经过学习培育必定编程思想,假如没有接触过编程,能够将小学阶段要学的常识进行一下补学,这个阶段的孩子接受能力比较强,能够比较快的把握必定理论,经过实践来提高自己的基础能力。这个阶段能够学习编程工具可选择的比较多了,比如basic,python,C,java等等,现在比较推重的是Python,后期会录制教程发布。

    3、成年时期,大学生及现已工作的人群:应该具有了必定的计算机常识,会有目的去学习一下编程常识,这个依据各人的工作状况,为了提高个人的竞争能力,有目标的去学习一些编程常识,需求经过编程取得经济收入来生计或者改善生活。

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司