Python中列表的常用方法
列表在python中是用的最多的一种结构,由于python的变量没有数据类型,也就是说python是没有数组的,所以python加入了更加强大的列表。
一、列表的取值
用法:列表名[下标] (下标从0开始)
list1 = [1,2,3,4,5,6,7,8,9]
print(list1[2])
二、列表的组合
用法:列表1+列表2
list1 = [1,2,3]
list2 = [4,5,6]
list3 = list1 + list2
print(list1+list2)
print(list3)
三、列表的重复
用法:列表名*数字
list1 = [1,2,3]
print(list1*3)
四、判断元素在不在列表中(返回值为boolean值)
用法:元素 in/not in 列表名
list1 = [1,2,3]
print(1 in list1)
五、列表的截取(注意下标有偏移量)
用法:列表名[start下标:stop下标 : 步长(默认取1)]
list1 = [1,2,3,4,5,6]
#从下标0开始取3个
print(list1[:3])
#从下标1开始取4个
print(list1[1:5])
#从下标0开始,每2个取一次
print(list1[::2])
######################
[1,2,3]
[2,3,4,5]
[1,3,5]
六、二维列表(多维类似)
用法:列表名=[ [ ],[ ],[ ] ]
list1 = [[2,3],[4,5]]
print(list1)
#####################
[[2, 3], [4, 5]]
七、列表元素的添加
1.一次添加一个(列表尾部)
用法:列表名.append()
list1 = [1,2,3]
list1.append(4)
print(list1)
list1.append([1,2,3])
print(list1)
#########################
[1,2,3,4]
[1,2,3,4,[1,2,3]]
2.一次添加多个元素
用法:列表名.extend()
list1 = [1,2,3]
list1.extend([4,5,6])
print(list1)
####################
[1,2,3,4,5,6]
3.在指定下标处添加元素(不覆盖原数据,原数据向后顺延)
用法:列表名.insert(下标,元素)
list1 = [1,2,3,4,5]
list1.insert(3,6)
print(list1)
#####################
[1,2,3,6,4,5]
八、列表元素的删除
1.弹出列表中指定下标的元素(默认移除最后一个,并返回弹出数据)
用法:列表名.pop()
list1 = [1,2,3]
list1.pop()
print(list1)
print(list1.pop(1))
###########################
[1,2]
2
2.删除列表中匹配到的第一个元素
用法:列表名.remove()
list1 = [1,2,3,3,4,2]
list1.remove(2)
print(list1)
################
[1,3,3,4,2]
3.清除列表中所有数据
用法:列表名.clear()
list1 = [1,2,3]
list1.clear()
print(list1)
################
[]
4.修改指定的值
用法:修改值只需要通过索引重新赋值就好了
list1 = [1,2,3]
list1[0] = 2
print(list1)
list1[-1] = [4,5,6]
print(list1)
####################
[0,2,3]
[0,2,3,[4,5,6]]
九、列表的查找
1.从列表中查找所要查找的值的第一个值并返回下标
用法:列表名.index(元素)
list1 = [1,2,3,4,5,3,4]
print(list1.index(3))
########################
2
2.在指定范围内查找对应的值,找到第一个返回下标
用法:列表名.index(元素,起始下标,终止下标)
list1 = [1,2,3,4,5,4,3]
print(list1.index(3,1,5))
############################
2
十、计算列表中元素的各种数值
1.计算元素个数
用法:len(列表名)
list1 = [1,2,3,4,5]
print(len(list1))
2.计算元素最大/小值(元素为数字)
用法:max/min(列表名)
list1 = [1,2,3,4,5]
print(max(list1),min(list1))
3.查找元素在列表中出现的次数
用法:列表名.count()
list1 = [1,2,3,4,5,3,4,3,4,2]
print(list1.count(3))
############################
3
十一、列表的排序(元素为数字)
列表元素的升序/倒序
用法:列表名.sort()/reverse()
list1 = [32,3,4,6,567,43,56,5,6]
print(list1.sort(),list1.reverse())
十二、关于分片“拷贝”的概念(深拷贝和浅拷贝)
list1 = [1,6,4,7,5,8,2]
#分片拷贝不受影响
list2 = list1[:]
#浅拷贝
list3 = list1
#深拷贝,它在内存中的地址与list1不一样,不受影响
list4 = list1.copy()
list1.sort()
print('list1:',list1,id(list1))
print('list2:',list2,id(list2))
print('list3:',list3,id(list3))
print('list4:',list4,id(list4))
#################################
list1: [1, 2, 4, 5, 6, 7, 8] 60827128
list2: [1, 6, 4, 7, 5, 8, 2] 60115664
list3: [1, 2, 4, 5, 6, 7, 8] 60827128
list4: [1, 6, 4, 7, 5, 8, 2] 60826928