4.列表元素的删除
删除元素底层是:元素的拷贝
- del删除(传的是索引)
a = [10,20,30,40]
del a[2]
print(a) #[10,20,40]
- pop()删除(传的是索引)
pop()删除并返回指定元素,如果未指定位置则默认操作列表最后一个元素
a = [10,20,30,40,50]
b1=a.pop()
print(a,b1) #[10,20,30,40] 50
b2=a.pop(3)
print(a,b2) #[10,20,30,50] 40
- remove()(传的是元素)
删除首次出现的指定元素,若不存在则会报错
a = [1,2,3,4,5,6,2,3,4,5]
a.remove(2)
print(a) #[1,3,4,5,6,2,3,4,5]
5.列表元素的访问
- 通过索引直接访问元素
- index()获得指定元素在列表中首次出现的索引
index(value,[start,[end]]),start和end指定了搜索的范围
a = [1,2,3,4,2,3,5,6,7]
b=a.index(2,3,) #指定位置从索引3往后的2
print(b)
#4
- count()
元素出现的次数
- len()返回列表长度,即列表中包含元素的个数
a = [1,2,3,4,2,3,5,6,7]
print(len(a)) #9
- 成员资格判断
判断列表中是否存在指定的元素,用in和not in来判断,直接返回True或False
a = [1,2,3,4,5,2,4,56,8]
print(2 in a) #True
6.列表切片slice操作
同字符串切片[start:end:step]
a = [1,2,3,4,5,6,72,3,45,3]
print(a[1:4]) #[2,3,4]
print(a[1:]) #[2,3,4,5,6,72,3,45,3]
7.列表的遍历
a = [1,2,3,4,5,2,4,56,8]
for obj in a: #obj是临时变量,随意起
print(obj)
"""1
2
3
4
5
2
4
56
8"""
8.复制列表所有元素到新列表
list1 = [1,2,3]
list2 = list1 #list2指向了列表对象,list1和list2的地址是相同的,只是同一个,并没有复制,地址一样
list2 = [] + list1 #生成新列表对象,地址不一样
9.列表排序
修改原列表,不建新列表的排序
import random
a = [10,30,40,20]
print(a) #[10, 30, 40, 20]
a.sort() #从小到大正序排列[10, 20, 30, 40]
print(a)
a.sort(reverse=True) #从大到小逆序排列[40, 30, 20, 10]
print(a)
random.shuffle(a) #乱序排列[30, 40, 20, 10]
print(a)
建新列表,进行排序
a = [10,30,40,20]
b = sorted(a) #升序排列
c = sorted(a,reverse=True) #降序排列
print(a) #[10, 30, 40, 20]
print(b) #[10, 20, 30, 40]
print(c) #[40, 30, 20, 10]
max和min用于返回列表中的最大值和最小值
a = [10,30,40,20]
b = max(a)
print(b)
sum()对数值型列表进行求和,对非数值型列表会报错
10.多维列表