列表是一个基础数据类型,他是一个有序的序列,所以我们能像字符串哪像使用索引下标去操作他的数值.
列表是可变的,不可使用哈希算法.他在我们的内存中存放的是这些数据的内存地址,最多放4个,超过4个,他就要翻倍,占用8个位置的空间,超过8个就占用16个的空间,以此类推.
列表不需要像字符串那样重新赋值,修改的是他本身.
内置方法分为四大类:
一.增加
1.append 追加,在列表的最后面添加指定的值
l = [ 1,2,3,4] l.append(5) print(l) >>> [1,2,3,4,5]
2.insert 插入,指定位置添加
l = [1,2,4,5] l.insert(2,3) #第一个数字是索引位置,第二个是添加的内容 print(l) >>>[1,2,3,4,5]
3.expend 迭代添加
l = [1,2,3,4,5]
l.expend(hello)
print(l)
>>>[1,2,3,4,5,'h','e','l','l','o']
4.列表可以相加,相当于拼接
拼接
l1 = [1,2,3] l2 = [4,5] l = l1+l2 print(l) >>>[1,2,3,4,5]
5.列表可以和数字相乘,相当于多个列表相加
l1= [1,2] l = l1*8 print(l) >>>[1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
二.删除
1.remove 删除指定元素,只会删除一个
1 = [1,2,3,4,5] l.remove(3) print(l) >>>[1,2,4,5]
2.pop 默认删除最后一个元素
l =[1,2,3,4,5] l.pop() print(l) >>>[1,2,3,4]
pop 比较特殊,可以有返回值返回的就是删除的元素
pop括号中可以填索引,根据索引删除元素
l =[1,2,3,4,5] s = l.pop(2) print(l) print(s) >>>[1,2,4,5] >>>3
3.clear 清空 del删除列表,这两种方法不常用
l = [1,2,3,4,5] l.clear print(l) >>>[] del l >>>NameError: name 'l' is not defined
三.修改
列表的改比较方便,直接用索引找到列表中要换的元素,等于新的元素就OK
l=[1,2,3,4,5] l[1] = '爱你呦' print(l) >>>[1, '爱你呦', 3, 4, 5]
四.查找
索引查找
l = [1, '爱你呦', 3, 4, 5] print(l[1]) >>>'爱你呦'
五.其他操作
1. count 统计
l = [1,2,3,4,5] print(l.count(2)) >>>1
2. index 查找
l = [1,2,3,4,5] print(l.index(3) >>>2
3.reverse 翻转
l = [1,2,3,4,5] l.reverse() print(l) >>>[5, 4, 3, 2, 1]
4.sort 排序
l = [2,3,1,4,6] l.sort() print(l) >>>[1,2,3,4,6]