Python中列表的增、删、改、查、查询、排序操作及生成式

前言

此篇文章是我在B站学习时所做的笔记,大部分图片都是课件老师的PPT,部分代码为亲自动手演示过的,方便复习用。此篇文章仅供学习参考。


提示:以下是本篇文章正文内容,下面案例可供参考

一、为什么需要列表

  • 变量可以存储一个元素,而列表是一个“大容器"可以存储N多个元素,程序可以方便地对这些数据进行整体操作
  • 列表相当于其它语言中的数组

在这里插入图片描述
在这里插入图片描述

二、列表的创建

  • 列表需要使用中括号.元素之间使用英文的逗号进行分隔
  • 列表的创建方式:(1)使用中括号(2)调用内置函数list()
    在这里插入图片描述
'''创建列表的第一种方式,使用[]'''
lst=['hello', 'world', 98]

'''创建列表的第二种方式,使用内置函数list()'''
lst2=list(['hello’, 'wor1d' , 98])

三、列表的特点

在这里插入图片描述

lst=[' hello', ' world' , 98,' hel1o’]
print(lst)#['hello','world',98,'hello']
print (lst[0],1st[-4])#hello hello

四、列表的查询操作

1、获取列表中指定元素的索引

在这里插入图片描述

lst=['hello', 'world' , 98, ' hello']
print(lst.index ('hello'))#如果列表中有相同元素只返回列表中相同元素的第一个元素的索引   0
#print(lst.index ('Python')) #ValueError: 'Python' is not in list
#print(lst.index ('hello',1,3)) #ValueError: 'hello' is not in list  'world', 98

print(lst.index('hello',1,4))#3

2、获取列表中的单个元素

在这里插入图片描述

lst=['hello','world',96,'hello','world',234]#获取索引为2的元素
print(lst[2])
#获取索引为-3的元素
print(lst[-3])

#获取索引为10的元素
print(lst[10])

3、获取列表中的多个元素(切片操作)

语法格式
列表名[strat:stop:step]
在这里插入图片描述

lst=[10,20,30,40,50,60,70,80]
#start=l,stop=6,step=1
#print(lst[1:6:1])
print('原列表', id(lst))
lst2=lst[1:6:1]
print('切的片段:',id(lst2))

print(lst[1:6])#默认步长为1   [20,30,40,50,60]

print(lst[1:6:])#[20,30,40,50,60]

#start=1,stop=6,step=2
print(lst[1:6:2])#[20,40,60]

#stop=6,step=2,start采用默认
print(lst[:6:2])#[10,30,50]

#start=l,step=2,stop采用默认
print(1st[1::2])#[20,40,60,80]

print('------------step步长为负数的情况-----------------')
print('原列表:',lst) #原列表:[10,20,30,40,50,60,70,80]

print(lst[::-1])#[80,70,60,50,40,30,20,10]

#start=7,stop 省略 step=-1
print(lst[7::-1])#[80,70, 60,50,40,30,20,10]

#start=6,stop=0,step=-2
print(lst[6:0:-2]#[70,50,30]

4、判断指定元素在列表中是否存在

在这里插入图片描述

print('p' in 'python') #True
print('k' not in 'python')#True

lst=[10,20, 'python', 'hel1o']
print(10 in lst) #True
print(100 in lst) #False
print(10 not in lst) #False
print(100 not in lst) #True

5、列表元素的遍历

在这里插入图片描述

lst=[10,20,'python','hel1o']
for item in lst:
	print(item)

五、列表元素的增加操作

在这里插入图片描述

#向列表的末尾添加一个元素
lst=[10,20,30]
print('添加元素之前',lst,id(lst)) #添加元素之前[10,20,30]   2784422257536

lst.append(100)
print('添加元素之后',lst,id(lst))#添加元素之后[10,20,30,100] 2784422257536

lst2=['hello', 'world']
#lst.append (lst2) #将lst2做为一个元素添加到列表的末尾

#向列表的末尾一次性添加多个元素
lst.extend(lst2)
print(lst) #[10,20,30,100,'hello','world']

#在任意位置上添加一个元素
lst.insert(1,90)
print(lst)#[10,90,20,30,100,'hello','world']

lst3=[True,False,'hel1o']
#任意的位置上添加N多个元素
lst[1:]=1st3
print(lst)#[10,True,False,'hello']

六、列表元素的删除操作

在这里插入图片描述

lst=[10,20,30,40,50,60,30]

lst.remove(30)#从列表中移除一个元素,如果有重复元素只移第一个元素
print(lst)#[10,20,40,50,60,30]

#lst.remove(100)#ValueError: list.remove(x): x not in list

#popO根据索引移除元素
lst.pop(1)
print(1st) #[10,40,50,60,30]
#lst.pop(5) #IndexError: pop index out of range  如果指定的索引位置不存在,将抛出异常

lst.pop()#如果不指定参数(索引),将删除列表中的最后一个元素
print(lst) #[10,40,50,60]

print('----------切片操作-删除至少一个元素,将产生一个新的列表对象-----')
new_list=lst[1:3]
print('原列表',lst)#原列表[10,40,50,60]
print('切片后的列表',new_list)#切片后的列表[40,50]

'''不产生新的列表对象,而是删除原列表中的内容'''
lst[1:3]=[]
print(lst)#[10,60]

'''清除列表中的所有元素'''
lst.clear()
print(lst)#[]

'''del语句将列表对象删除'''
del lst
print(lst)# NameError: name 'lst’ is not defined

七、列表元素的修改操作

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

八、列表元素的排序操作

常见的两种方式

  • 调用sort()方法,列有中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序排序
  • 调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变
lst=[20,40,10,98,54]
print('排序前的列表',lst,id(lst))#排序前的列表[20,40,10,98,54]

#开始排序,调用列表对象的sort方法,升序排序
lst.sort()
print('排序后的列表',lst,id(lst))#排序后的列表[10,20,40,54,98]

#通过指定关键字参数,将列表中的元素进行降序排序
lst.sort(reverse=True) #reverse=True 表示降序排序, reverse=False就是升序排序
print(lst)#[98,54,40,20,10]

lst.sort(reverse=False)
print(lst)#[10,20,40,54,98]

print(' ----------使用内置函数sorted()对列表进行排序,将产生一个新的列表对象-------')

lst=[20,40,10,98,54]
print('原列表',lst)# 原列表[20,40,10,98,54]
#开始排序 
new_list=sorted(lst)
print(lst)#[20,40,10,98,54]
print(new_list)#[10,20,40,54,98]
#指定关键字参数,实现列表元素的降序排序
desc_list=sorted(lst,reverse=True)
print(desc_list)#[98,54,40,20,10]

九、列表生成式

列表生成式简称“生成列表的公式”

语法格式:
在这里插入图片描述
注意事项:“表示列表元素的表达式”中通常包含自定义变量

lst=[i*i for i in range(1,10)]
print(lst)#[1,4,9,16,25,36,49,64,81]

'''列表中的元素的值为2,4,6,8,10'''
lst2=[i*2 for i in range(1,6)]
print(lst2)#[2,4,6,8,10]

总结

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛_Chenpangzi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值