列表的创建方式: 1。使用[] 2. 使用内置函数 list() 列表的特点 1。列表元素按顺序有序排序 2。索引映射唯一个数据 3。列表可以存储重复数据 4。任意数据类型混存 5。根据需要动态分配和回收内存列表的方法: index 返回列表的索引 如果有多个相同元素,只返回第一个元素的索引 如果不存在抛错 ValueError 可以指定的start和stop之间查找 获取单个元素 正向索引从0到N-1 list[1] 逆向索引从-N到-1 list[-N] 指定索引不存在,抛错IndexError
def list_index_test():
list1 = ['hello', 'world', 98, 'world']
print(list1.index('world')) # 如果有多个相同元素,只返回第一个元素的索引
# print(list1.index(1)) # ValueError: 1 is not in list
print(list1[2])
print(list1[-2])
# print(list1[8]) # IndexError: list index out of range
列表切片操作
[start:stop:step]
start 默认1,stop默认全部,step默认1
start stop step 可以省略 [1::2] step可以是负数
def list_cut_test():
list1 = [10, 20, 30, 40, 50, 60, 70, 80]
print(list1[1:6:2])
print(list1[1:6:])
print(list1[:6:2])
print(list1[1::2])
print(list1[::-1])
print(list1[7::-1])
print(list1[6:0:-1])
列表的添加操作:
列表的操作 append() 在列表的末尾添加一个元素 extend() 在列表的末尾至少添加一个元素 insert() 在列表的任意位置添加一个元素 切片 在列表的任意位置添加至少一个元素
def list_edit_test():
list1 = [10, 20, 30]
# 末尾添加一个元素40
print('原列表:', list1)
list1.append(40) # [10, 20, 30, 40]
print('append(40):', list1)
list2 = ['hello', 'world']
print('原列表:', list1)
# list1.append(list2) # [10, 20, 30, 40, ['hello', 'world']]
# print(list1)
list1.extend(list2) # [10, 20, 30, 40, 'hello', 'world']
print('extend(list2):', list1)
list1.insert(1, 90)
print('insert(1,90)', list1)
list1[3:3:] = ['insert1', 'insert2', 'insert3']
print(list1) # [10, 90, 20, 'insert1', 'insert2', 'insert3', 30, 40, 'hello', 'world']
列表的删除操作:
remove
一次删除一个元素
重复元素只删除第一个
元素不存在抛错Value Error
pop
删除一个指定索引位置上的元素
指定索引不存在抛错Index Error
不指定索引,删除列表中最后一个元素
切片
一次至少删除一个元素
clear
清空列表
del
删除列表
def list_del_test():
list1 = [10, 20, 30, 40, 50, 60, 70, 80, 90]
list1.remove(20)
print(list1)
r = list1.pop(1) # 剪切出
print(r, list1)
r = list1.pop() # 不指定参数(索引),删除最后一个元素
print(r, list1)
list1[1:3] = []
print(list1)
list1.clear()
print(list1)
del list1
列表的排序操作:
常用的两种方式
使用列表的sort()方法,默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序
使用内置函数sorted() 可以指定reverse=True 进行降序排序,原列表不发生改变
def list_sort_test():
list1 = [10, 30, 50, 80, 100, 20]
print('排序前', list1)
list1.sort() # 默认升序
print(list1)
list1.sort(reverse=True) # 降序
print(list1)
list2 = [10, 30, 50, 80, 100, 20]
sort_list = sorted(list2)
print(list2, sort_list)
sort_list = sorted(list2, reverse=True) # 降序
print(sort_list)
列表生成式
语法: list1 = [i for i in range(1, 10)] 注意: 表示列表元素的表达式 中通常包含自定义变量
def gen_list_test():
list1 = [i for i in range(1, 10)]
print(list1)
list1 = [i * 2 for i in range(1, 6)]
print(list1)
总结: