美文网首页工作生活
列表的添加\删除元素\排序的多种方法

列表的添加\删除元素\排序的多种方法

作者: 0981b16f19c7 | 来源:发表于2019-07-02 09:51 被阅读0次

    1、添加元素

    append函数, 在列表尾部增加元素,将一个对象添加

    a = [1, 2, 3, 4]

    a.append(5)

    print(a)# [1, 2, 3, 4, 5]

    extend函数, 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表),将一个序列添加

    a = [1, 2, 3, 4]

    a.extend([7,8])

    print(a)# [1, 2, 3, 4, 7, 8]

    insert函数,在列表指定位置插入元素

    a = [1, 2, 3, 4]

    a.insert(1,6)

    print(a)# [1, 6, 2, 3, 4]

    +加号,会返回到一个新的lie对象

    a=[1,2,3]

    b=[4,5]

    print(a+b)# [1, 2, 3, 4, 5]

    比较:append,insert,extend修改了原数据对象,+需要创建新的列表对象,从而需要消耗额外的内存。insert函数会将插入位置及之后所有元素拷贝、重新复制,因此效率不高。尽可能使用append函数。

    2、删除元素

    del函数,删除指定位置的元素

    a = [1, 2, 3, 4]

    del a[0]

    print(a)# [2, 3, 4]

    remove函数,移除列表中某个值的第一个匹配项

    a = [1, 2, 3, 4]

    a.remove(2)

    print(a)# [1, 3, 4]

    pop函数,移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

    a = [1, 2, 3, 4]

    a.pop(-1)

    print(a)# [1, 2, 3]

    3、排序

    reverse函数,反向列表中元素

    a = [3, 2, 5, 4]

    a.reverse()

    print(a) # [4, 5, 2, 3]

    reversed函数,返回逆序迭代对象

    a = [3, 2, 5, 4]

    print(list(reversed(a)))

    sort函数,对列表进行升序或者降序排列

    a = [3, 2, 5, 4]

    a.sort(reverse=True)# True:降序,False:升序(默认)

    print(a)  # [5, 4, 3, 2]

    sorted,可以对所有可迭代的对象进行排序操作-sorted(iterable[, cmp[, key[, reverse]]]),reverse = True 降序 , reverse = False 升序(默认)

    a = [3, 2, 5, 4]

    print(sorted(a))  # [2, 3, 4, 5] 

    切片逆序

    a = [3, 2, 5, 4]

    print(a[::-1])  # [4, 5, 2, 3]

    random的shuffle函数,乱序排列

    import random

    a = [3, 2, 5, 4]

    random.shuffle(a)

    print(a)

    比较:reverse函数,节省内存,因为不需要重新申请空间来保存最后的结果,坏处是修改了原来的数据;切片操作,会另外创建副本保存列表的所有元素,需要更多的内存空间,但是可读性不会;reversed,将列表逆序的结果存储到迭代器里面,这种方式不会改变原来的列表,也不会创建原来列表的完整副本,只会多出迭代器对象所占的空间,相对来说也比较高效。

    相关文章

      网友评论

        本文标题:列表的添加\删除元素\排序的多种方法

        本文链接:https://www.haomeiwen.com/subject/jjmacctx.html