Python列表相关函数

目录

1. list函数

2. 给元素赋值

2.1单个赋值

3.删除元素

3.1 del语句

3.2[]

3.3 clear(全删)

3.4 pop

3.5 remove

4插入元素(增添元素)

4.1直接插入

4.2 append附加到末尾

4.3 extend

5 查找元素

5.1 index

6 其余函数

6.1 copy(全部复制)

6.2 count

6.3 reverse

6.4 sort

6.5 sort的更高阶用法


1. list函数

一般用list可以将字符串转化为列表

 a='hello'
 b=list(a)
 print(b)
 #['h', 'e', 'l', 'l', 'o']
2. 给元素赋值
2.1单个赋值
 a=[1,2,3]
 a[0]=2
 print(a)
 [2, 2, 3]

2.2给切片赋值

a=list('hello')
 b=list('a')
 a[1:]=b
 print(a)

这里是把a从第2个元素(序列为1)开始到末尾的所有元素进行删除,并把列表b拼接在列表a的后面

3.删除元素
3.1 del语句

删除单个元素时

 a=[1,2,3,4,5]
 del a[0]
 print(a)
 #[2, 3, 4, 5]

还可以结合切牌对多个元素进行删除

 a=[1,2,3,4,5]
 del a[0:2]
 print(a)
 #[3, 4, 5]

3.2[]

这里还可以用a[i:i+1]=[]表示删除第i-1个元素

a=[1,2,3,4,5]
 a[0:1]=[]#当然也可以利用切牌对多个元素进行删除
 print(a)
 #[2, 3, 4, 5]

这里如果表示a[0]=[],就表示的是给元素赋值,就把1改成了[]

3.3 clear(全删)
a=[1,2,3,4,5]
 a.clear()
 print(a)
 #[]
3.4 pop

pop是从列表中删除指定索引对应的对象,默认为最后一个,并会返回这一个元素

 a=['h','e','l','l','o']
 b=a.pop()
 print(b) #'o'
 print(a) #['h','e','l','l']
 c=a.pop(0)
 print(c) #'h'
 print(a) #['e','l','l']
3.5 remove

remove则直接删除第一个为指定值的元素(没有找到则报错)

a=['h','e','l','l','o']
 a.remove('o')
 print(a) #['h', 'e', 'l', 'o']
4插入元素(增添元素)
4.1直接插入
 a=[1,2,3,4,5]
 a[1:1]=['h','l']#只要你想,也可以删除并插入
 print(a)
 #[1, 'h', 'l', 2, 3, 4, 5]
4.2 append附加到末尾
 a=[1,2,3,4,5]
 a.append(6)
 print(a)
 #[1, 2, 3, 4, 5, 6]

但如果append里是个列表,就会变成这样

 a=[1,2,3,4,5]
 b=['h','l','l']
 a.append(b)
 print(a)
 #[1, 2, 3, 4, 5, ['h', 'l', 'l']]

append添加的只是一个对象,而这个对象可以是列表对象中的任何值

4.3 extend

extend更多的是将一个列表扩充到另一个列表中,相当于+

 a=[1,2,3]
 b=[4,5,6]
 a.extend(b)
 print(a)
 #[1, 2, 3, 4, 5, 6]

+也能实现

 a=[1,2,3]
 b=[4,5,6]
 a=a+b
 print(a)
 #[1, 2, 3, 4, 5, 6]
5 查找元素
5.1 index

index主要在列表中查找指定值第一次出现的索引,没有找到就直接报错

 a=['h','e','l','l','o']
 b=a.index('l')
 print(b)
 #2
6 其余函数
6.1 copy(全部复制)
a=[1,2,3,4,5]
 b=a
 del b[0]
 print(a)
 print(b)
 #[2, 3, 4, 5]

正常的把a传给b是让b和a指向相同的对象,当对b进行修改时,a会被一并修改,但用copy就会创建一个新的对象

a=[1,2,3,4,5]
 b=a.copy()
 del b[0]
 print(a)
 print(b)
 #[1, 2, 3, 4, 5]
 #[2, 3, 4, 5]
6.2 count

返回指定元素在列表中出现的次数

 a=['h','e','l','l','o']
 b=a.count('l')
 print(b)
 #2
6.3 reverse

reverse按相反序列排序列表中的元素

 a=['h','e','l','l','o']
 a.reverse()
 print(a) #['o', 'l', 'l', 'e', 'h']

不过取反也可以用[::-1]表示

a=['h','e','l','l','o']
 a=a[::-1]
 print(a) #['o', 'l', 'l', 'e', 'h']
6.4 sort

sort用于对列表进行就地从小到大(这里一般指ASCII值)排序(无返回值)

一般用于对数字进行从小到大排序

a=[1,8,4,5,9,7,22,0,3]
 a.sort()
 print(a) #[0, 1, 3, 4, 5, 7, 8, 9, 22]

当然也可以对字母之类的进行排序

 a=list('PyThon')
 a.sort()
 print(a) #['P', 'T', 'h', 'n', 'o', 'y']

但如果你想让排序后有返回值的话可以用sorted

 a=[1,8,4,5,9,7,22,0,3]
 b=sorted(a)
 print(b) #[0, 1, 3, 4, 5, 7, 8, 9, 22]
6.5 sort的更高阶用法

sort还可以接受两个可以选择的参数:key和reverse

key值的是sort排序的另一关键,比方说a.sort(key=abs),这里的abs指取绝对值,那么sort就会对a的所有元素取完绝对值后的大小进行排序,但并不改变a元素的大小

a=[-1,8,-4,5,-9,7,22,0,-3]
 a.sort(key=abs)
 print(a) #[0, -1, -3, -4, 5, 7, 8, -9, 22]

当然,key还有len之类的

而reverse就是对排序完的结果再进行倒序,比方说a.sort(reverse=True)

 a=[-1,8,-4,5,-9,7,22,0,-3]
 a.sort(key=abs,reverse=True)
 print(a) #[22, -9, 8, 7, 5, -4, -3, -1, 0]

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值