8. 列表

本文介绍了Python列表的各种操作,包括列表的添加、删除(如remove、pop、切片、clear、del)和排序(sort方法与内置sorted函数),还详细阐述了列表生成式的用法。通过对这些操作的理解,能更好地掌握Python列表的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表的创建方式:
    1。使用[]
    2. 使用内置函数 list()
列表的特点
    1。列表元素按顺序有序排序
    2。索引映射唯一个数据
    3。列表可以存储重复数据
    4。任意数据类型混存
    5。根据需要动态分配和回收内存
列表的方法:
    index 返回列表的索引
        如果有多个相同元素,只返回第一个元素的索引
        如果不存在抛错 ValueError
        可以指定的start和stop之间查找
    获取单个元素
        正向索引从0到N-1 list[1]
        逆向索引从-N到-1 list[-N]
        指定索引不存在,抛错IndexError
def list_index_test():
    list1 = ['hello', 'world', 98, 'world']
    print(list1.index('world'))  # 如果有多个相同元素,只返回第一个元素的索引
    # print(list1.index(1))  # ValueError: 1 is not in list
    print(list1[2])
    print(list1[-2])
    # print(list1[8])  # IndexError: list index out of range

列表切片操作

     [start:stop:step]

     start 默认1,stop默认全部,step默认1

     start stop step 可以省略 [1::2] step可以是负数

def list_cut_test():
    list1 = [10, 20, 30, 40, 50, 60, 70, 80]
    print(list1[1:6:2])
    print(list1[1:6:])
    print(list1[:6:2])
    print(list1[1::2])

    print(list1[::-1])
    print(list1[7::-1])
    print(list1[6:0:-1])

 列表的添加操作:

 

列表的操作
    append() 在列表的末尾添加一个元素
    extend() 在列表的末尾至少添加一个元素
    insert() 在列表的任意位置添加一个元素
    切片 在列表的任意位置添加至少一个元素
def list_edit_test():
    list1 = [10, 20, 30]
    # 末尾添加一个元素40
    print('原列表:', list1)
    list1.append(40)  # [10, 20, 30, 40]
    print('append(40):', list1)
    list2 = ['hello', 'world']
    print('原列表:', list1)
    # list1.append(list2)  # [10, 20, 30, 40, ['hello', 'world']]
    # print(list1)
    list1.extend(list2)  # [10, 20, 30, 40, 'hello', 'world']
    print('extend(list2):', list1)
    list1.insert(1, 90)
    print('insert(1,90)', list1)
    list1[3:3:] = ['insert1', 'insert2', 'insert3']
    print(list1)  # [10, 90, 20, 'insert1', 'insert2', 'insert3', 30, 40, 'hello', 'world']

列表的删除操作:

remove

        一次删除一个元素

        重复元素只删除第一个

        元素不存在抛错Value Error

pop

        删除一个指定索引位置上的元素

        指定索引不存在抛错Index Error

        不指定索引,删除列表中最后一个元素

切片

        一次至少删除一个元素

clear

        清空列表

del

        删除列表

def list_del_test():
    list1 = [10, 20, 30, 40, 50, 60, 70, 80, 90]
    list1.remove(20)
    print(list1)

    r = list1.pop(1)  # 剪切出
    print(r, list1)
    r = list1.pop()  # 不指定参数(索引),删除最后一个元素
    print(r, list1)

    list1[1:3] = []
    print(list1)

    list1.clear()
    print(list1)

    del list1

 列表的排序操作:

 常用的两种方式

        使用列表的sort()方法,默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序

        使用内置函数sorted() 可以指定reverse=True 进行降序排序,原列表不发生改变

 

def list_sort_test():
    list1 = [10, 30, 50, 80, 100, 20]
    print('排序前', list1)
    list1.sort()  # 默认升序
    print(list1)
    list1.sort(reverse=True)  # 降序
    print(list1)

    list2 = [10, 30, 50, 80, 100, 20]
    sort_list = sorted(list2)
    print(list2, sort_list)
    sort_list = sorted(list2, reverse=True)  # 降序
    print(sort_list)

列表生成式

语法:
    list1 = [i for i in range(1, 10)]
注意:
    表示列表元素的表达式 中通常包含自定义变量
def gen_list_test():
    list1 = [i for i in range(1, 10)]
    print(list1)

    list1 = [i * 2 for i in range(1, 6)]
    print(list1)

 总结:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值