列表
目标
- 列表的应用场景
- 列表的格式
- 列表的常用操作
- 列表的循环遍历
- 列表的嵌套使用
一列表的应用场景
怎末存储100个学生的名字,如何书写,声明100个变量
二、列表的格式
[数据1,数据2,数据3,...]
列表可以一次性存多个数据,可以为不同的数据类型
三、列表的常用操作
3.1 查找
3.1.1下标
name=['tom','lili','rode']
print(name)
print(name[0]) #tom
print(name[1]) #lili
print(name[2]) #rode
3.1.2函数
index()返回指定数据所在位置下标
1语法
列表学列.index(数据,开始位置下标,结束位置下标)
2快速体验
print(name.index('lili',0,2))
注意查找的数据不存在就报错
count() 统计指定数据在当前列表中出现的次数
print(name.count('lili')) #1
len()访问列表长度,即列表中的数据个数
print(len(name)) #3
3.1.3判断是否存在
in:判断指定数据在某个列表序列,如果在返回True,否则返回false
print('lili' in name) #True
not in :判断指定数据不在某个列表序列,如果不在返回True,否则返回false
print('lili' not in name)#False
3.2列表增加
append
作用:增加指定数据到列表中
append();列表结尾追加数据
1语法
列表序列.append(数据)
2体验
name=['tom','lili','rode']
name.append('liming')
print(name)
#['tom', 'lili', 'rode', 'liming']
注意 列表可变的数据类型
append()追加的是一个序列,则追加整个序列到列表中
name.append([11,22])
['tom', 'lili', 'rode', 'liming', [11, 22]]
extend
extend()列表结尾增加数据,如果数据是一个列表,则将这个序列的数据逐一添加到列表
1语法
列表序列.extend(数据)
2快速体验
2.1单个数据
name=['tom','lili','rode']
name.extend('xiaoming')
print(name)
#['tom', 'lili', 'rode', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
2.2序列
name=['tom','lili','rode']
name.extend(['aaa','cccc'])
print(name)
#['tom', 'lili', 'rode', 'aaa', 'cccc']
insert
insert() 指定位置增加数据
1语法
列表序列.insert(数据)
2快速体验
3.3删除
del
语法
del 目标
快速体验
删除列表
name=['tom','lili','rode']
del name
print(name)
删除指定数据
name=['tom','lili','rode']
del name[2]
print(name)
#['tom', 'lili']
pop
.使用列表的pop()方法删除并返回指定位置上的元素(默认为最后一个即pop(len(list)-1),删除下标为index的元素可表示为pop(index))
name=['tom','lili','rode']
new_name=name.pop()
print(new_name)
print(name)
#rode
#['tom', 'lili']
remove
remove()移除某个数据的第一个匹配相
1语法
列表序列.remove(数据)
快速体验
name=['tom','lili','rode']
name.remove('lili')
print(name)
#['tom', 'rode']
clear
clear() :清空列表
name=['tom','lili','rode']
name.clear()
print(name)
#[]
3.4修改
修改指定下标的数据
name=['tom','lili','rode']
name[0]='aaa'
print(name)
#['aaa', 'lili', 'rode']
逆置:reverse()
#2逆序
list1=[1,2,3,4,5,6]
list1.reverse()
print(list1)
#[6, 5, 4, 3, 2, 1]
排序:sort()
语法
列表序列.sort(key=None,reverse=False)
注意 reverse表示排序规则,reverse=True,降序 reverse=False(默认)升序
list1=[1,2,3,4,5,6]
list1.sort()
print(list1)
#[1, 2, 3, 4, 5, 6]
list1=[1,2,3,4,5,6]
list1.sort(key=None,reverse=True)
print(list1)
#[6, 5, 4, 3, 2, 1]
3.5列表的复制
copy()
list1=[1,2,3,4,5,6]
name1=name.copy()
print(name1)
四、列表的循环遍历
4.1while
name=['tom','lili','rode']
i=0
while i<len(name):
print(name[i])
i+=1
"""
tom
lili
rode
"""
4.2for
name=['tom','lili','rode']
for i in name:
print(i)
"""
tom
lili
rode
"""
五、列表嵌套
一个列表中包含了其他的子列表
存储一个年级,一班,二班,三班的信息
name=[['tom','lili','rode'],['tom2','lili2','rode2'],['tom3','lili3','rode3']]
查询’
name=[['tom','lili','rode'],['tom2','lili2','rode2'],['tom3','lili3','rode3']]
print(name[0][1])
import random
teach=['A','B','C','D','E','F','G','H']
office=[[],[],[]]
for name in teach:
num=random.randint(0,2)
office[num].append(name)
print(office)