1.列表
- 列表是一个能够存储多个同一或不同元素的序列
- 列表:list ---- []
- 列表属于序列类型
- 列表属于可变类型(可直接改变原数据)
- 序列: 指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。-----序列是有序集的通用术语
列表中元素是一组数据算其一个元素
list1 = [1, 'hahah', ['asd', 123]]
# 其中['asd', 123]为list1的其中一个元素
# ['asd', 123]在list1里面的下标为2
列表是序列类型,因此可以进行索引下标操作
2.常规操作
增
- append: 向列表末端添加变量
list1 = ['快乐', '忧伤', 'hahah']
list1.append('kuai')
print(list1) # ['快乐', '忧伤', 'hahah', 'kuai']
- extend: 将数据添加到指定列表中
# 将数据中元素逐一加入指定列表
list3 = ['快乐', '忧伤', 'hahah']
list3.extend('帅12345')
print(list3) # ['快乐', '忧伤', 'hahah', '帅', '1', '2', '3', '4', '5']
list4 = ['快乐', '忧伤', 'hahah']
list4.extend(['帅12345', 1, 2])
print(list4) # ['快乐', '忧伤', 'hahah', '帅12345', 1, 2]
- insert: 指定位置插入元素
list2 = ['快乐', '忧伤', 'hahah']
list2.insert(0, '帅')
print(list2) # ['帅', '快乐', '忧伤', 'hahah']
删
- clear: 清空列表中的数据
list5 = ['快乐', '忧伤', 'hahah']
list5.clear()
print(list5) # []
- pop: 删除指定索引位置的元素,默认删除最后一个
list6 = ['快乐', '忧伤', 'hahah']
list6.pop()
print(list6) # ['快乐', '忧伤']
list7 = ['快乐', '忧伤', 'hahah']
list7.pop(1)
print(list7) # ['快乐', 'hahah']
- remove: 删除指定元素
list8 = ['快乐', '忧伤', 'hahah']
list8.remove('快乐')
print(list8) # ['忧伤', 'hahah']
- del: 删除
list9 = ['快乐', '忧伤', 'hahah']
del list9[0] # 单独删除
print(list9) # ['忧伤', 'hahah']
list10 = ['快乐', '忧伤', 'hahah']
del list10[0:2] # 范围删除,还可以进行步长操作
print(list10) # ['hahah']
list11 = ['快乐', '忧伤', 'hahah']
del list11
print(list11)
改
直接索引操作,重新赋值
list12 = ['快乐', '忧伤', 'hahah', [1,2,3]]
# 直接改
list12[0] = '你不得努力一下'
print(list12)
list13 = ['快乐', '忧伤', 'hahah', [1,2,3]]
# 直接操作可变数据
list13[3].append('哈沙给')
print(list13) # ['快乐', '忧伤', 'hahah', [1, 2, 3, '哈沙给']]
查
- index 查看指定元素第一次出现的下标位置(可指定范围)
list14 = ['快乐', '忧伤', 'hahah', [1, 2, 3], 1, 2, 3, 4, 2]
print(list14.index(1)) # 4
# 因为下标为3为[1, 2, 3],所以往后找,下标为4是指定元素
- count 统计指定元素在列表中出现次数
list15 = ['快乐', '忧伤', 'hahah', [1, 2, 3], 1, 2, 3, 4, 2]
print(list15.count(2)) # 2次
3.补充操作
- copy 浅复制
list_1 = [123, 345, 'hahg']
list_2 = list_1.copy()
print(list_2) # [123, 345, 'hahg']
print(id(list_1)) # 2563097618248
print(id(list_2)) # 2563097618312
- reverse 序列反向
list_3 = [1, 3, 0, 34, 35, 23, 26]
list_3.reverse()
print(list_3) # [26, 23, 35, 34, 0, 3, 1]
- sort 排序(同类型数据)
# sort 排序(同类型数据)
list_4 = [1, 3, 0, 34, 35, 23, 26]
list_4.sort()
print(list_4) # [0, 1, 3, 23, 26, 34, 35]
# sort(reverse=True) 反向排序
list_5 = [1, 3, 0, 34, 35, 23, 26]
list_5.sort(reverse=True)
print(list_5) # [35, 34, 26, 23, 3, 1, 0]
- sorted 临时排序(不改变原列表数据)
# sorted 临时排序
list_6 = [1, 3, 0, 34, 35, 23, 26]
data = sorted(list_6)
print(list_6) # [1, 3, 0, 34, 35, 23, 26]
print(data) # [0, 1, 3, 23, 26, 34, 35]
# 临时反向排序
list_7 = [1, 3, 0, 34, 35, 23, 26]
data_1 = sorted(list_7, reverse=True)
print(list_7) # [1, 3, 0, 34, 35, 23, 26]
print(data_1) # [35, 34, 26, 23, 3, 1, 0]
- reversed 临时反向(不改变原列表数据)
list_8 = [1, 3, 0, 34, 35, 23, 26]
data_2 = reversed(list_8) # 返回的是一个对象
print(list_8) # [1, 3, 0, 34, 35, 23, 26]
print(data_2) # <list_reverseiterator object at 0x000001C88644FB38>
# 将对象数据转类型, 可获取其内部数据
data = list(data_2)
print(data) # [26, 23, 35, 34, 0, 3, 1]