Python | 列表

本文分享关于Python列表的知识,供大家学习交流。

目录

一、列表是什么?

二、列表的创建

创建方式1:使用中括号

创建方式2:使用内置函数list()

列表的特点

三、列表的查询操作

3.1 index()获取列表中指定元素的索引

3.2 获取表中的单个元素

正向索引从0到N-1

逆向索引从-N到-1

指定索引不存在,抛出indexError

3.3 获取列表中的多个元素

3.4 判断元素在列表中是否存在

元素 in 列表名

元素 not in 列表名

3.5 列表元素的遍历

四、列表元素的增删改操作

4.1 列表元素的添加操作

append()在列表末尾添加一个元素(直接在尾部添加)

extend()在列表末尾至少添加一个元素(拓展式添加)

insert()在列表的任意位置添加一元素

切片在列表的任意位置至少添加一个元素

4.2 列表元素的删除操作

remove()一次删除一个元素

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

切片一次至少删除一个元素

clear清空列表

del删除列表

4.3 列表元素的修改操作

4.4 列表元素的排序

调用sort()方法

调用内置函数sorted()

4.5 列表推导(生成)式

总结


一、列表是什么?

变量可以存储一个元素,而“列表”是一个大容器可以存储多个元素,程序可以方便地对这些数据进行整体操作。

列表相当于其他语言的数组。

二、列表的创建

使用中括号[ ],元素之间使用逗号分隔。

创建方式1:使用中括号

lst=['hello','world',98]

创建方式2:使用内置函数list()

lst=list['hello','world',98]

列表的特点

1、列表元素按顺序有序排序

2、索引映射唯一一个元素

3、列表可以存储重复数据

4、任意数据类型混存

5、根据需要动态分配和回收内存

三、列表的查询操作

3.1 index()获取列表中指定元素的索引

  • 如列表中有多个相同元素,只返回相同元素中第一个的索引
print(lst.index('hello'))
  • 如果查询的元素在列表中不存在,则会抛出ValueError
print(lst.index('python'))
  • 还可以在指定的start和stop之间进行查找
print(lst.index('hello',1,3))   //索引从1开始,但不包括3

3.2 获取表中的单个元素

  • 正向索引从0到N-1
lst=['hello','world',998,'hello','world',234]
print(lst[2])
//结果为:998
  • 逆向索引从-N到-1
lst=['hello','world',998,'hello','world',234]
print(lst[-3])
//结果为:hello
  • 指定索引不存在,抛出indexError

3.3 获取列表中的多个元素

  • 切片的结果: 原列表切片的拷贝(一个新的列表)
  • 切片的范围:[start,stop,step]
  • step默认为1,start默认从0开始,stop默认到结束
//代码示例1(步长为1)
    lst=[10,20,30,40,50,60,70,80,90]
    print(lst[1:6:1])
    //结果为:[20, 30, 40, 50, 60]

//代码示例2(步长为2)
    lst=[10,20,30,40,50,60,70,80,90]
    print(lst[1:6:2])
    //结果为:[20, 40, 60]

//代码示例3(省略start)
    lst=[10,20,30,40,50,60,70,80,90]
    print(lst[:6:2])
    //结果为:[10, 30, 50]

//代码示例4(省略stop)
    lst=[10,20,30,40,50,60,70,80,90]
    print(lst[1::2])
    //结果为:[20, 40, 60, 80]

//代码示例5(step为-1)
    lst=[10,20,30,40,50,60,70,80,90]
    print(lst[7::-1])
    //结果为:[80, 70, 60, 50, 40, 30, 20, 10]

//代码示例5(step为-2)
    lst=[10,20,30,40,50,60,70,80,90]
    print(lst[6:0:-2])
    //结果为:[70, 50, 30]

3.4 判断元素在列表中是否存在

  • 元素 in 列表名
print(10 in lst)
  • 元素 not in 列表名
print(10 not in lst)

3.5 列表元素的遍历

  • for 迭代变量 in 列表名 :
    • 操作
for item in lst:
    print(item)

四、列表元素的增删改操作

4.1 列表元素的添加操作

  • append()在列表末尾添加一个元素(直接在尾部添加)
lst=[10,20,30]
lst.append(100)
print(lst)
//结果为:[10, 20, 30, 100]
  • extend()在列表末尾至少添加一个元素(拓展式添加)
lst=[10,20,30]
lst1=[10,20,30]
lst2=['hello','world']
lst.append(lst2)
lst1.extend(lst2)
print(lst)
    //结果为:[10, 20, 30, ['hello', 'world']]
print(lst1)
    //结果为:[10, 20, 30, 'hello', 'world']
  • insert()在列表的任意位置添加一元素
lst=[10,20,30]
lst.insert(1,90)
print(lst)
    //结果为:[10, 90, 20, 30]
  • 切片在列表的任意位置至少添加一个元素
lst=[10,20,30,40,50,60]
lst2=[True,False,'hello']
lst[1:]=lst2
print(lst)
    //结果为:[10, True, False, 'hello']

4.2 列表元素的删除操作

  • remove()一次删除一个元素
    • 元素不存在抛出ValueError

    • 重复元素只删除第一个

lst=[10,20,30,40,50,60,50,70,80]
lst.remove(50)
print(lst)
    //结果为:[10, 20, 30, 40, 60, 50, 70, 80]
  • pop()删除一个指定索引位置上的元素
    • 若不指定索引,则删除列表中最后一个元素

    • 指定索引不存在抛出IndexError

//代码示例1
    lst=[10,20,30,40,50]
    lst.pop(1)
    print(lst)
        //结果为:[10, 30, 40, 50]

//代码示例2
    lst=[10,20,30,40,50]
    lst.pop()
    print(lst)
        //结果为:[10, 20, 30, 40]
  • 切片一次至少删除一个元素
    • 将产生新的列表对象
lst=[10,20,30,40,50]
new_lst=lst[1:3]
print(new_lst)
    //结果为:[20, 30]
  • clear清空列表
lst.clear()
  • del删除列表
del lst

4.3 列表元素的修改操作

  • 为指定索引的元素赋予一个新值(一次修改一个值)
lst=[10,20,30,40]
lst[2]=100
print(lst)
    //结果为:[10, 20, 100, 40]
  • 为指定的切片赋予一个值(一次修改多个值)
lst=[10,20,30,40]
lst[1:3]=[100,200,300,400]
print(lst)
    //结果为:[10, 100, 200, 300, 400, 40]

4.4 列表元素的排序

  • 调用sort()方法
    • 不产生新列表

    • 指定关键字参数reverse=True,降序排序

    • 默认升序排序(reverse=False)

lst=[30,90,80,20,40,70]
lst.sort()
print(lst)
    //结果为:[20, 30, 40, 70, 80, 90]

lst.sort(reverse=True)
print(lst)
    //结果为:[90, 80, 70, 40, 30, 20]
  • 调用内置函数sorted()
    • 将产生新的列表对象,原列表不发生改变

    • 指定关键字参数reverse=True,降序排序

    • 默认升序排序(reverse=False)

lst=[30,90,20,50,70,60]
new_lst=sorted(lst)
desc_lst=sorted(lst,reverse=True)
print(lst)
    //结果为:[30, 90, 20, 50, 70, 60]

print(new_lst)
    //结果为:[20, 30, 50, 60, 70, 90]

print(desc_lst)
    //结果为:[90, 70, 60, 50, 30, 20]

4.5 列表推导(生成)式

//代码示例1
    lst=[i for i in range(1,10)]
    print(lst)
        //结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9]

//代码示例2
    lst=[i*i for i in range(1,10)]
    print(lst)
        //结果为:[1, 4, 9, 16, 25, 36, 49, 64, 81]

//代码示例3
    lst=[2*i for i in range(1,6)]
    print(lst)
        //结果为:[2, 4, 6, 8, 10]


总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值