5.Python的列表

本文详细介绍了Python编程中列表的定义、创建、特点,包括列表的拼接、查询方法,以及常用的操作如增加、删除、修改等。此外,还探讨了列表的排序、字符串与列表之间的转换等高级特性。对于Python初学者和进阶开发者,掌握这些内容对于提升编程能力非常有帮助。
摘要由CSDN通过智能技术生成

一、列表的定义

列表(list)是表示任意元素的序列,元素可以是任意的数据类型,且是有序、可变的

创建

列表需要使用中括号[],元素之间使用英文的逗号进行分隔

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

调用内置函数list()

ls2=list(['hello','world',98])

特点

  • 列表元素按顺序有序排序

  • 索引映射唯一数据

  • 列表可以存储重复数据

  • 任意数据类型混存

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

二、列表的拼接

所有的序列都可以拼接,操作是一致的

l1=[1,2,3]
l2=[4,5,6]
l3=l1+l2
print(l3)   #[1, 2, 3, 4, 5, 6]
l4=l2+l1
print(l4)   #[4, 5, 6, 1, 2, 3]  与顺序有关

三、列表的查询

index()获取指定元素

st=['hello','world',98,'hello']
print(ls.index('hello')) #如果列表中有相同元素,只返回列表中相同元素的第一个索引
print(ls.index('嘻嘻')) #若列表中无该元素,则报错
print(ls.index("hello",n,m)) #返回指定索引在n和m-1之间查询值的索引值

获取列表中的单个元素

  1. 语法:列表名[n] n为索引

  2. 正向索引从0到N-1 举例:ls[0]

  3. 逆向索引从-N到-1 举例:ls[-N]

  4. 指定索引不存在,则报错

获取列表中的多个元素

  1. 语法格式:列表名[start:stop:step] start为开始索引,stop-1为结束索引,step为步长

  2. 切片的范围:[start,stop)

  3. start默认为0,stop默认为-1,step默认为1,均可省略不写,当step省略时,最后一个冒号可以不写,start和stop同时省略时,切片范围为列表所有数据,如[::-1]则表示倒序显示该列表

  4. step为正数时:从start开始,每隔step-1向左取一个元素

  5. step为负数时:从stop开始切片,到start-1结束,每隔step-1向右取一个元素

嵌套列表取值

ls=[0,1,2,[3,4,[5,6,7]]]
#通过索引获取列表中的6
print(ls[3])  #[3,4,[5,6,7]]  第一步,通过第一层索引获取包含6的列表
print(ls[3][2])  #[5,6,7]  第二步,索引获取ls[3]中的包含6的列表
print(ls[3][2][1]) #6 第三步,索引获取ls[3][2]中6

四、列表的常用操作

增加

append()追加元素,在列表的末尾添加一个元素

ls=['hello','world']
ls.append('!')

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

ls=['hello','world',98]
ls2=['hello','world']
ls.extend(ls2)  #向列表的末尾一次性添加多个元素
ls.extend('abcd')  #['hello','world',98,a,b,c,d] 将可迭代元素依次添加到列表中
ls.append(ls2)  #将ls2作为一个元素添加到列表的末尾

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

ls=['hello','world',98]
ls.insert(1,90)  #在索引为1处,添加一个值为90的元素

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

ls=['hello','world',98]
ls3=[True,False]
ls[1:]=ls3   #ls列表从索引为1位置被切割舍弃,切割部分替换为ls3

删除

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

指定索引不存在则报错

不存在索引,则默认删除列表中最后一个元素

ls=['hello','world',98]
ls.pop(1)
ls.pop()

remove()删除一个元素

重复元素只删除第一个

元素不存在则报错

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

ls.remove('hello')

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

ls=['hello','world',98]
new_list=ls[1:2]

clear()清空列表

ls=['hello','world',98]
ls.clear()

del删除列表

ls=['hello','world',98]
del ls

修改

为指定索引的元素赋予一个新值

语法:列表名[索引位置]=值

ls=[10,20,30,40] 
ls[2]=100  
print(ls)  #[10, 20, 100, 40]

为指定的切片赋予一个新值

语法:列表名[n:m]=[值1,值2,,] #修改索引范围[n,m)内容为指定值

ls=[10,20,30,40] 
ls[1:3]=[300,400,500] 
print(ls)  #[10, 300, 400, 500, 40]ls=[10,20,30,40] 
ls[1:3]=[300,400,500] 
print(ls)  #[10, 300, 400, 500, 40]

五、列表的其他方法

排序

调用sort()方法,默认元素升序排序,可以通过指定reverse=True,进行降序排序,该方法是在原列表上进行修改

ls=[50,35,567,798,2]
ls.sort()  #升序 [2, 35, 50, 567, 798]
print(ls)
ls.sort(reverse=True)  #倒序  [798, 567, 50, 35, 2]
print(ls)

调用内置函数sorted(),可以通过指定reverse=True,进行降序排序,该方法是产生一个新列表

ls=[50,35,567,798,2]
haha=sorted(ls)
heh=sorted(ls,reverse=True)
print(ls)   #[50, 35, 567, 798, 2]
print(haha)  #[2, 35, 50, 567, 798]
print(heh)   #[798, 567, 50, 35, 2]

六、列表和字符串的转换

字符串转为列表

list()函数,将字符串转换成单个字符的列表

a='abcdefg'
print(list(a)) #['a', 'b', 'c', 'd', 'e', 'f', 'g']

列表转换为字符串

.join()将字符串中可迭代对象的字符串拼接起来

ls=['a', 'b', 'c', 'd', 'e', 'f', 'g']
print('/'.join(ls))  #a/b/c/d/e/f/g  使用/将列表拼接起来,其中/可为任意值或空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值