问答详情

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

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

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()的对比分析,希望能对你有所帮助哦~

    注册电脑版

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