• Python基础03 列表、元组基本操作


    一、前言

    本文主要记录了Python学习过程中,基本数据类型列表list、元组tuple的操作

    二、列表list

    主要包括增、删、改、查的一些方法

    append()在尾部进行追加元素

    l = [1, 2, (2, 3, 4), 5, 7, 8]
    
    l.append(4)
    
    输出结果
    [1, 2, (2, 3, 4), 5, 7, 8, 4]
    

    insert()在具体位置插入元素

    l = [1, 2, (2, 3, 4), 5, 7, 8]
    
    l.insert(1, '葫芦')
    
    输出结果
    [1, '葫芦', 2, (2, 3, 4), 5, 7, 8]
    

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

    l = [1, 2, (2, 3, 4), 5, 7, 8]
    
    l.extend('abc')
    print(l)
    
    输出结果
    [1, 2, (2, 3, 4), 5, 7, 8, 'a', 'b', 'c']
    

    l.remove()
    l.pop()
    l.clear()
    del

    pop()按索引删除 pop返回删除的元素

    l = ['allen', 'alex', 'Wusir']
    res = l.pop(1)
    print(res)
    
    输出结果
    alex
    

    remove()按元素删除 返回删除后的列表

    l = ['allen', 'alex', 'Wusir']
    res = l.remove('allen')
    print(res)
    
    输出结果
    ['alex', 'Wusir']
    

    clear() 清空列表,列表还在

    l = ['allen', 'alex', 'Wusir']
    l.clear()
    输出结果
    []
    
    

    del 删除列表,列表不在

    直接删除

    
    l = [1, 2, 3, 4, 5]
    del  l
    print(l)
    
    NameError: name 'l' is not defined
    

    按照索引删除

    l = [1, 2, 3, 4, 5]
    del l[2]
    print(l)
    
    [1, 2, 4, 5]
    nait
    

    按照切片删除

    l = [1, 2, 3, 4, 5]
    del l[1:4]
    print(l)
    
    [1]
    

    按索引改

    l = [1, 2, 3, 4, 5]
    l[0]='alex'
    print(l)
    
    
    ['alex', 2, 3, 4, 5]
    

    按切片改

    l = [1, 2, 3, 4, 5]
    l[:3]='allen'
    print(l)
    结果:['a', 'l', 'l', 'e', 'n', 4, 5]
    
    
    l = [1, 2, 3, 4, 5]
    l[1:4] = ['a', '中国', '']
    print(l)
    结果:[1, 'a', '中国', '', 5]
    
    
    l = [1, 2, 3, 4, 5]
    l[1:4:2] = ['a', '中国', '']
    print(l)
    结果:['a', 2, 'b', 4, 5]
    
    

    通过元素查索引 index()

    l = ['allen', 'alex', 'Wusir']
    res = l.index('allen')
    print(res)
    
    allen
    

    通过索引查元素

    l = ['allen', 'alex', 'Wusir']
    print(l[0])
    
    allen
    

    最后还有切片去查和for 循环遍历查

    list常用的方法

    cout()计算某个元素在list中出现此时
    sort()对列表进行排序
    reverse()将列表中的元素反向存放

    需要注意的地方

    在循环列表的时候,最好不要修改列表的大小,否则会出现超过预期的结果

    举例说明:
    l1 = [11, 22, 33, 44, 55]
    删除l1中索引为奇数的元素

    l1 = [11, 22, 33, 44, 55]
    for i in range(len(l1)):
        if i % 2 == 1:
            l1.remove(l1[i])
    print(l1)
    
    [11, 33, 44]
    

    我们预期的结果应该是[11,33,55],但实际结果是[11, 33, 44],为什么呢,原因在删除列表中元素的过程中,元素对应的索引也发生了变化。
    为了达到上述目的,我们可以从后向前删

    l1 = [11, 22, 33, 44, 55]
    for i in range(len(l1)-1,-1,-1):
        if i % 2 == 1:
            l1.remove(l1[i])
    print(l1)
    
    [11, 33,55]
    

    元组

    元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。

  • 相关阅读:
    【BZOJ2127】happiness 最小割
    【xsy2748】 fly 矩阵快速幂
    [BZOJ2758] [SCOI2012]Blinker的噩梦 扫描线+set
    【BZOJ2732】【HNOI2012】射箭 二分+半平面交
    【xsy1162】鬼计之夜 最短路+二进制拆分
    【xsy2111】 【CODECHEF】Chef and Churus 分块+树状数组
    【xsy1116】数学题 奥数题
    【CODECHEF】Children Trips 倍增
    【xsy1098】第k小 可持久化trie
    扩展中国剩余定理(扩展CRT)详解
  • 原文地址:https://www.cnblogs.com/suxianglun/p/9036814.html
Copyright © 2020-2023  润新知