列表
1、特点:
①放在符号 [ ] 中
②列表中可以放多种不同类型的数据,包括列表、元组、字典、组合和其他自定义的类型数据
③有序的,数据可以重复
④支持修改
2、列表的创建
列表创建有两种形式:
①直接定义列表,放在[ ]里,定义几个列表,查看控制台输出形式
list_one = []#创建一个空列表 list_two = [1,2.3,4] #创建同类型数据列表 list_three = [1,2,'aa','bb']#创建列表时加入字符串数据 list_four = [4,5,list_three]#创建列表时,列表嵌套列表 print(list_one) print(list_two) print(list_three) print(list_four)
②使用内置list()函数创建
list_one = list()#创建一个空列表 list_two = list([1, 2, 3, 4])#创建同类型数据列表 list_three = list((1, 2, 'aa', 'bb'))#创建列表时加入字符串数据 list_four = list(range(4, 5, 6))#创建列表时,列表嵌套函数 print(list_one) print(list_two) print(list_three) print(list_four)
3、访问列表
列表访问方式常用方法有三种:
①使用列表数据的下标/索引,列表中数据都有自己的下标,正向从0开始,反向从-1开始
# 下标/索引 student_list = ['杨永琪', '郭二蛋', '和西昌', '丁无敌']#先定义一个列表 # *****************0********1********2********3 列表中正向下标是从0开始的 # ****************-4*******-3*******-2*******-1 列表中反向下标是从-1开始的 print(student_list[1])#根据正向下标输出列表中对应的数据 print(student_list[-3])#根据反向下标输出列表中对应的数据
②列表切片
语法格式:list_name[start:end:step]
start:表示切片开始位置,默认为0
end:表示切片结束位置(不包含),默认为列表总长度
step:表示切片的步长,默认为1
# 切片 student_list = ['杨起飞', '郭二蛋', '何瞌睡', '丁无敌'] #先定义一个列表 print(student_list[0:3:2]) # start:end 区间是前闭后开,步长是2 print(student_list[0:3]) # 步长省略,默认为1 print(student_list[0:]) # end省略,取值到列表最后一个 print(student_list[:2]) # start省略,取值从第一个开始 print(student_list[:]) # start,end省略,取值取全部
③循环访问
利用循环语句,遍历列表中的每一个数据
# 循环访问
student_list = ['杨起飞', '郭二蛋', '何瞌睡', '丁无敌'] #先定义一个列表
for student in student_list:
print(student)
4、添加列表元素
列表添加元素常用方法有三种:
①使用append()方法,用于在列表末尾添加元素
# append() 在列表尾部增加一个元素
student_list = ['杨起飞', '郭二蛋', '何瞌睡', '丁无敌'] #先定义一个列表
student_list.append('张三') #在列表末尾添加元素
print(student_list)
②使用extend()方法,用于在列表末尾一次性添加另一个列表中的所有元素
# extent() 在列表中增加列表 student_list = ['杨起飞', '郭二蛋', '何瞌睡', '丁无敌'] #先定义一个列表 student_list2 = ['拉拉','滴滴']#再定义一个列表 student_list.extend(student_list2)#把列表2中的元素添加到列表1中 print(student_list)
③使用insert()方法,用于按照下标将新元素插入到指定位置
# insert() 在指定位置增加元素 student_list = ['杨起飞', '郭二蛋', '何瞌睡', '丁无敌'] # 先定义一个列表 student_list.insert(0, '李四') # 在下标0处,添加‘李四’ print(student_list)
5、列表的排序
常用的列表排序方法有三种:
①sort()函数,按照指定顺序将列表中的所有元素进行排序
语法格式:sort(key=None,reverse=False)
key:表示按照元素长度,可以省略
reverse:表示从大到小还是从小到大,值为False,表示从小到大排序,值为True,表示从大到小排序,可以省略,默认值为False,从小到大排序
# sort() student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表 student_list.sort() # key值,reverse值均省略,按照从小到大顺序排序 print(student_list) student_list.sort(reverse=True) # reverse值为True,按照从大到小顺序排序 print(student_list)
②sorted()函数,sorted()函数与sort()函数用法大致一样,不同点就是,sorted()函数的返回值是一个新列表,不会改变原先的列表顺序
# sorted() : 注意,排序后返回新列表
student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表
student_list_bak = sorted(student_list)
print('新列表:',student_list_bak)
print('原列表:',student_list)
③reverse()函数,用于逆置列表,就是把原来的列表元素,从右到左依次排序,跟升序降序没关系
# reverse()
student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表
print('原列表:',student_list)
student_list.reverse() # 逆置列表
print('逆置后的列表',student_list)
6、删除列表元素
列表删除元素常见方法有四种:
①del语句,删除列表中指定位置的元素
# del student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表 del student_list[0] # 删除列表中下标为0的元素 print(student_list)
②remove()函数,移除列表中匹配到的元素,如果匹配到的是列表中重复的数据,就只删除第一个元素
# remove()
student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表
student_list.remove('hello') #删除‘hello’元素
print(student_list)
③pop()函数,移除列表中某一个元素,如果未指定具体元素,默认移除最后一个元
# pop() student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表 student_list.pop() # 删除列表中最后一个元素 print(student_list) student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表 student_list.pop(0) # 删除列表中下标为0的元素 print(student_list)
7、修改列表元素
修改列表中指定元素,需要找到指定元素的下标
# 改 student_list = ['amin', 'hello', 'boy', 'yes'] # 先定义一个列表 student_list[0] = 'cat' # 修改下标为0的元素 print(student_list)
8、列表中常用的其他操作
# 其他的方法 score_list = [100,99,88,77,66] #定义一个列表 print(max(score_list)) #找列表中最大的元素 print(sum(score_list)) #列表中元素总和 print(len(score_list)) #列表长度 print(sum(score_list)/len(score_list)) #求平均数



