• 【python】列表的使用


    大家好,我是胡亥大魔王。今天介绍python中列表的使用

    列表类型

    列表本身是一个值,这个值是一个数组

    spam = ['cat', 'bat', 'rat', 'elephant']
    
    • 1

    其中spam是值,['cat', 'bat', 'rat', 'elephant']是数组,['cat', 'bat', 'rat', 'elephant']spam的值。

    用下标取列表中的值

    列表中第一个值的下标是0,第二个值的下表是1,以此类推。

    spam = ['cat', 'bat', 'rat', 'elephant']
    print(spam[0]) # cat
    print(spam[1]) # bat
    print(spam[2]) # rat
    print(spam[10]) # IndexError: list index out of range
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注:假如下标超过了列表中值的个数,Python将给出IndexError报错信息。

    负数下标

    整数值-1指的是列表中最后一个元素的下标,-2指的是列表中倒数第二个元素的下标,以此类推。

    spam = ['cat', 'bat', 'rat', 'elephant']
    print(spam[-1]) # elephant
    print(spam[-2]) # rat
    print(spam[-3]) # bat
    
    • 1
    • 2
    • 3
    • 4

    获得子列表

    获得子列表的操作叫做切片,切片可以获得列表中的多个值,结果是一个新列表。

    切片的语法如下:

    spam[1:4]
    
    • 1

    第一个整数(即1)是切片开始处的下标。第二个整数(即4)是切片结束处的下标。
    切片的取值从第一个下标开始,直到第二个下标(但不包含)结束。

    spam = ['cat', 'bat', 'rat', 'elephant']
    print(spam[1:4]) # ['bat', 'rat', 'elephant']
    
    • 1
    • 2

    省略
    可以省略:两端的下标,省略:前面的下标等价于前面的下标是0,省略:后面的下标等价于后面的下标是-1(即列表长度)。

    spam = ['cat', 'bat', 'rat', 'elephant']
    print(spam[:3]) # ['cat', 'bat', 'rat']
    print(spam[2:]) # ['rat', 'elephant']
    
    • 1
    • 2
    • 3

    获得列表长度

    len()可以获得列表长度

    spam = ['cat', 'bat', 'rat', 'elephant']
    print(len(spam)) # 4
    
    • 1
    • 2

    用下标改变列表中的值

    我们可以使用下标来改变列表中某个位置元素的值

    spam = ['cat', 'bat', 'rat', 'elephant']
    spam[1] = 'aaabbb'
    print(spam) # ['cat', 'aaabbb', 'rat', 'elephant']
    
    • 1
    • 2
    • 3

    列表连接

    +操作可以连接两个列表,得到一个新列表

    list1 = [1, 2, 3]
    list2 = ['A', 'B', 'C']
    list3 = list1 + list2
    print(list3) # [1, 2, 3, 'A', 'B', 'C']
    
    • 1
    • 2
    • 3
    • 4

    列表复制

    *操作可以作用于一个列表和一个整数,实现列表的复制

    list1 = ['X', 'Y', 'Z']
    list2 = list1 * 3 
    print(list2) # ['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
    
    • 1
    • 2
    • 3

    删除列表中的值

    del语句可以删除列表中下标处的值,被删除后,位于被删除值后面的值,全部向前移动一个下标

    spam = ['cat', 'bat', 'rat', 'elephant']
    del spam[1]
    print(spam) # ['cat', 'rat', 'elephant']
    
    • 1
    • 2
    • 3

    遍历列表

    可有用for语句将列表进行遍历

    spam = ['cat', 'bat', 'rat', 'elephant']
    for i in spam:
        print(i)
    
    • 1
    • 2
    • 3

    结果为:
    在这里插入图片描述

    in 和 not in 操作符

    利用 innot in 操作符可以确定一个值是否在列表中,返回为 TrueFalse

    spam = ['cat', 'bat', 'rat', 'elephant']
    print('cat' in spam) # True
    print('dog' in spam) # False
    print('dog' not in spam) # True
    
    • 1
    • 2
    • 3
    • 4

    多重赋值技巧

    python在一行代码中可以给多个变量赋值

    spam = ['cat', 'bat', 'rat', 'elephant']
    a, b, c, d = spam
    print(a) # cat
    print(b) # bat
    print(c) # rat
    print(d) # elephant
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    查找列表中某个值的位置

    index() 方法可以查找列表中某个值的下标,如果列表中没有这个值,会报ValueError

    spam = ['cat', 'bat', 'rat', 'elephant']
    print(spam.index('cat')) # 0
    print(spam.index('dog')) # ValueError: 'dog' is not in list
    
    • 1
    • 2
    • 3

    向列表中添加值

    append()

    append() 是向列表末尾添加值

    spam = ['cat', 'bat', 'rat', 'elephant']
    spam.append('dog')
    print(spam) # ['cat', 'bat', 'rat', 'elephant', 'dog']
    
    • 1
    • 2
    • 3

    insert()

    insert() 是向列表指定位置添加值,需要两个参数,第一个参数是新值的下标,第二个元素是要插入的新值

    spam = ['cat', 'bat', 'rat', 'elephant']
    spam.insert(2, 'dog')
    print(spam) # ['cat', 'bat', 'dog', 'rat', 'elephant']
    
    • 1
    • 2
    • 3

    移除列表中的某个值

    使用 remove() 方法可以移除列表中的某个值,如果移除列表中不存在的值将报ValueError错误

    spam = ['cat', 'bat', 'rat', 'elephant']
    spam.remove('bat')
    print(spam) # ['cat', 'rat', 'elephant']
    spam.remove('dog') # ValueError: list.remove(x): x not in list
    
    • 1
    • 2
    • 3
    • 4

    注:如果知道想要删除的值的下标,使用 del 就可以。如果不知道下标,可以使用 remove()

    列表中的值排序

    使用 sort() 方法可以对数字列表或者字符串列表进行排序

    list1 = [1, 5, 6, 34, 7, 4, 9]
    list1.sort()
    print(list1) # [1, 4, 5, 6, 7, 9, 34]
    list1.sort(reverse=True)
    print(list1) # [34, 9, 7, 6, 5, 4, 1]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注:

    • 不要用 list1 = list1.sort() 的方式试图获取返回值
    • 对字符串进行排序时,使用 ASCII 字符顺序 ,而不是实际的字典顺序,这意味着大写字母排在小写字母之前
  • 相关阅读:
    数据库管理-第四十期 基于Oracle 19c RAC的IPv6改造(20221019)
    UE4逆向篇-2_各类数据的查找方式
    cesium开发入门(vue2)
    Arctic开源!网易数帆×华泰证券,推动湖仓一体落地
    vue3中watch的用法
    23. 合并 K 个升序链表
    FFmpeg 基础模块:容器相关的 API 操作
    图的遍历-DFS,BFS(代码详解)
    opencv编译错误记录
    docker学习2-基本指令
  • 原文地址:https://blog.csdn.net/iiiliuyang/article/details/125511423