Python——列表操作

列表的基本操作:元素赋值、元素删除、分片赋值、列表方法。
一、对列表元素重新赋值:

x=[1,2,3,4]
print x
x[1]=0
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 0, 3, 4]
>>> 

二、对列表元素删除:

x=[1,2,3,4]
print x
del x[2]
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 4]
>>> 

三、分片赋值操作:
3.1 一次为多个元素赋值:

name=list('test')
print name
name[2:]=list('Deng')
print name
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['t', 'e', 's', 't']
['t', 'e', 'D', 'e', 'n', 'g']
>>> 

3.2 在不需要替换元素的地方插入新的元素:

name=list('test')
print name
name[1:1]=list('Deng')
print name
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['t', 'e', 's', 't']
['t', 'D', 'e', 'n', 'g', 'e', 's', 't']
>>> 

3.3 分片删除元素

x=list('12345678')
print x
x[1:4]=[]
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['1', '2', '3', '4', '5', '6', '7', '8']
['1', '5', '6', '7', '8']
>>> 

四、列表方法:
4.1 append函数追加新的元素

lst=[1,2,3,4]
print lst
lst.append(9)
print lst
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 3, 4, 9]
>>> 

4.2 count函数统计元素个数:

x=['4','2','1','7','1']
print x.count('1')
x=[[1,2],1,1,[2,1,[1,2]]]
print x.count([1,2])
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
2
1
>>> 

4.3 extend函数追加多个元素

x=[1,2,3,4]
print x
y=[5,6,7,8]
x.extend(y)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> 

一下方法也可以实现多个元素的追加,但是可读性比extend稍差

x=[1,2,3,4]
print x
y=[5,6,7,8]
x[len(x):]=y
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 3, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> 

4.4 index函数寻找列表第一个匹配元素的索引位置:

x=[1,2,3,4]
print x.index(4)
#not exist 6
print x.index(6)
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
3
Traceback (most recent call last):
  File "C:/Users/Mr_Deng/Desktop/3.py", line 4, in <module>
    print x.index(6)
ValueError: 6 is not in list
>>> 

4.5 insert函数想列表插入元素对象:

x=[1,2,5,6]
print x
x.insert(2,'test')
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 5, 6]
[1, 2, 'test', 5, 6]
>>> 

4.6 pop函数删除列表中的元素:

x=[9,8,1,2,5,6]
print x
x.pop()
print x
x.pop(0)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[9, 8, 1, 2, 5]
[8, 1, 2, 5]
>>> 

注:pop函数默认删除列表中最后一个元素,pop函数是唯一可以既可以修改列表又能返回元素值除了(None)的列表方法。
4.7 remove函数删除列表中第一个匹配项:

x=[9,8,1,2,5,6]
print x
x.remove(1)
print x
x.remove(0)
print x
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[9, 8, 2, 5, 6]
Traceback (most recent call last):
  File "C:/Users/Mr_Deng/Desktop/3.py", line 5, in <module>
    x.remove(0)
ValueError: list.remove(x): x not in list
>>> 

4.8 reverse函数列表元素反向存放

x=[9,8,1,2,5,6]
print x
x.reverse()
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[6, 5, 2, 1, 8, 9]
>>> 

4.9 sort函数对列表元素排序:

x=[9,8,1,2,5,6]
print x
x.sort()
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[9, 8, 1, 2, 5, 6]
[1, 2, 5, 6, 8, 9]
>>> 

注:sort函数可以修改列表但是返回值却是空,意思是不能通过y=x.sort(x)的方式,将列表x排序后的结果赋值给y。若要实现这个功能,可以通过sorted函数来实现。

x=[9,8,1,2,5,6]
y=sorted(x)
print y
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
[1, 2, 5, 6, 8, 9]
>>> 

4.10 高级排序操作:
参数key作为排序依据

x=['kenan','xinyi','dadi','bob','as']
print x
x.sort(key=len)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['kenan', 'xinyi', 'dadi', 'bob', 'as']
['as', 'bob', 'dadi', 'kenan', 'xinyi']
>>> 

参数reverse作为排序依据

x=['kenan','xinyi','dadi','bob','as']
print x
x.sort(reverse=True)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['kenan', 'xinyi', 'dadi', 'bob', 'as']
['xinyi', 'kenan', 'dadi', 'bob', 'as']
>>> 

参数cmp作为比较的依据

x=['kenan','xinyi','dadi','bob','as','1']
print x
x.sort(cmp)
print x
运算结果:
========RESTART: C:/Users/Mr_Deng/Desktop/3.py========
['kenan', 'xinyi', 'dadi', 'bob', 'as', '1']
['1', 'as', 'bob', 'dadi', 'kenan', 'xinyi']
>>> 
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值