python中列表的使用

本文介绍了Python中列表的创建、索引访问、元素的添加、删除、修改以及排序等基本操作,包括切片、append、extend、insert、remove、pop方法的使用,还涉及到列表生成式和排序功能。

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

#列表的创建,用[]

lst=['hello','world',98]
print(lst)
print(lst[0],lst[-3])  #逆序从-1开始从右往左排序

##用内置函数list()

lst2=list(['hello','world',98])
print(lst2)

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

lst=['hello','world',98,'hello']
print(lst.index('hello')) #只返回相同元素的第一个索引
#print(lst.index('python')) #查找列表中不存在的元素会报错
#在指定的start与stop之间进行查找
#print(lst.index('hello',1,3)),在[1,3)之间找不到hello,所以报错
print(lst.index('hello',0,3))
#获取列表中的单个元素
#正向
lst=list(['hello','world',98,'python'])
print(lst[0])
print(lst[3])#从0到N-1

#逆向

print(lst[-1])
print(lst[-2])
print(lst[-4])#从-N到-1
#print(lsr[-5])#索引不存在报错

#切片的结果:原列表片段的拷贝;

获取列表中多个元素——切片操作,语法格式:列表名【start:stop:step】

lst3=[10,20,30,40,50,60,70,80]
#start=1,stop=6,step=1
print(lst3[1:6:1]) 	#[1,6)左闭右开的集合,即从第2个元素开始,到第6个元素结束,每次从下一个元素开始递增
print(lst3[1:6])  #默认间隔为1;
print(lst3[1:6:]) #默认间隔为1;
#start=1,stop=6,step=2
print(lst3[1:6:2])
#stop=6,step=2,start默认0
print(lst3[:6:2])
#start=1,step=2,stop采用默认为end
print(lst3[1::2])

#step为负数

print(lst3[::-1])
#start=7,stop省略,step=-1
print(lst3[7::-1])
#start=6,stop=0,step=-2
print(lst3[6:0:-2])#[6,0),不包括0

元素 in 列表名;元素 not in 列表名

lst4=[1,2,3,4,5]
print(5 in lst4)	#True 	lst4.__contains__(5)
print(5 not in lst4)	#False 	lst4.__contains__(5)
#列表元素的遍历
for item in lst4:
    print(item)	#1 2 3 4 5

#列表元素的增加操作

#向列表的末尾增加一个元素append()
lst=[10,20,30] 
lst.append(100)
print(lst,id(lst)) 
 
lst2=['hello','world']
'''
lst.append(lst2)
print(lst)
这里是将lst2作为一个元素添加到lst里面的,所以输出是lst2的内容带方括号
'''
#向列表的末尾一次添加多个元素extend()
lst.extend(lst2)
print(lst)
 
#在任意位置添加一个元素insert()
lst.insert(1,90)#在索引为1的位置上添加一个90
print(lst)
 
#在任意位置上添加多个元素
lst2=[True,False,'hello']
lst[1:]=lst2  #把切掉的部分用新列表替换
print(lst)

#列表元素的删除操作

#删除一个元素,remove()
lst=[10,20,30,40,50,60,30]
lst.remove(30) #重复元素只删除一个,元素不存在抛出valueERROR异常
print(lst)
 
#根据索引移除元素pop()
lst.pop(1) #指定索引不存在,将抛出异常
print(lst)
lst.pop()  #不指定索引,默认删除列表最后一个元素
print(lst)
 
#切片,至少删除一个元素,将产生一个新的元素列表
new_list=lst[1:3]
print('原列表',lst,id(lst))
print('新列表',new_list,id(new_list))
#不产生新的列表,而是删除列表中的内容
lst[1:3]=[]  #用空列表进行替代
print(lst,id(lst))

# 清除列表中的所有元素
lst=[10,20,30,40,50,60,30]
lst.clear()
print(lst)

# del语句将列表对象删除
lst=[10,20,30,40,50,60,30]
del lst
#print(lst) #由于上一个语句已经删除,所以此处会抛出异常

#列表元素的修改操作

#一次修改一个值
lst=[10,20,30,40]
lst[2]=100
print(lst)
 
#修改列表中的多个值
lst[1:3]=[300,400,500,600]
print(lst)

#列表元素的排序操作

lst2=[20,40,10,98,54]
print('原列表',lst2,id(lst2))
lst2.sort() #默认升序排序
print('新列表',lst2,id(lst2))  #id未发生改变
 
#通过指定关键字参数,将列表中的元素进行降序排序
lst2.sort(reverse=True) 	#reverse=True降序排序
print(lst2)
lst2.sort(reverse=False)  #reverse=False升序排序
print(lst2)
 
#使用内置函数sorted()对列表进行排序,将产生一个新的列表
lst3=[10,67,29,11,19]
new_list=sorted(lst3) #sorted返回的是已排序的新列表,默认表示升序排序
print(lst3,id(lst3))
print(new_list,id(new_list))
 
#指定关键字参数,实现元素降序排序
desc_list=sorted(lst3,reverse=True)
print(desc_list)

列表生产式:简称“生成列表的公式”;

lst=[i for i in range(1,10)]
print(lst)
 
lst2=[i*i for i in range(1,10)]
print(lst2)
 
#列表中的元素值为2,4,6,8,10
lst3=[i*2 for i in range(1,6)]
print(lst3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值