一、查找
1.1 index():返回指定数据所在位置的下标
name_list = ['Tom', 'Lily', 'Rose']
print(name_list.index('Tom')) # 0
# print(name_list.index('Toms')) # 报错
1.2 count():统计指定数据在当前列表中出现的次数
name_list = ['Tom', 'Lily', 'Rose']
print(name_list.count('Lily')) # 1
print(name_list.count('Lilys')) # 0
1.3 len():访问列表中数据的个数
name_list = ['Tom', 'Lily', 'Rose']
print(len(name_list)) # 3
二、判断是否存在
2.1 in:判断指定数据在某个列表序列,如果在返回True,不在返回False
name_list = ['Tom', 'Lily', 'Rose']
print('Tom' in name_list) # True
print('Toms' in name_list) # False
2.2 not in:不在返回True,在返回False
name_list = ['Tom', 'Lily', 'Rose']
print('Tom' not in name_list) # False
print('Toms' not in name_list) # True
三、增加数据
3.1 append():列表结尾追加数据,如果追加的数据是一个序列,则追加整个序列到列表
name_list = ['Tom', 'Lily', 'Rose']
name_list.append('xiaoming')
print(name_list) # ['Tom', 'Lily', 'Rose', 'xiaoming']
name_list.append(['zhangsan', 'lisi'])
print(name_list) # ['Tom', 'Lily', 'Rose', 'xiaoming', ['zhangsan', 'lisi']]
3.2 extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
name_list = ['Tom', 'Lily', 'Rose']
name_list.extend('xiaoming')
print(name_list) # ['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
name_list.extend(['zhangsan', 'lisi'])
print(name_list) # ['Tom', 'Lily', 'Rose', 'zhangsan', 'lisi']
3.3 insert():指定位置新增数据,插入
name_list = ['Tom', 'Lily', 'Rose']
name_list.insert(1, 'xiaoming')
print(name_list) # ['Tom', 'xiaoming', 'Lily', 'Rose']
name_list.insert(1, ['xiaoming', 'zhangsan', 11, 22])
print(name_list) # ['Tom', ['xiaoming', 'zhangsan', 11, 22], 'xiaoming', 'Lily', 'Rose']
四、列表删除数据
4.1 del():
name_list = ['Tom', 'Lily', 'Rose']
# del 可以删除指定下标的数据
del name_list[0]
print(name_list) # ['Lily', 'Rose']
# del name_list
# del(name_list)
# print(name_list) # NameError: name 'name_list' is not defined
4.2 pop():
name_list = ['Tom', 'Lily', 'Rose']
# pop() -- 删除指定小标的数据,如果不指定下标,默认删除最后一个数据,
# 无论是按照下标还是删除最后一个,pop函数都会返回这个被删除的数据
# del_name = name_list.pop()
# print(del_name) # Rose
# print(name_list) # ['Tom', 'Lily']
del_name = name_list.pop(1)
print(del_name) # Lily
print(name_list) # ['Tom', 'Rose']
4.3 remove():
name_list = ['Tom', 'Lily', 'Rose']
# remove()
name_list.remove('Rose')
print(name_list) # ['Tom', 'Lily']
4.4 clear(): 清空列表
name_list = ['Tom', 'Lily', 'Rose']
# clear() 清空列表
name_list.clear()
print(name_list) # []空列表
五、修改列表
5.1 reverse() 逆置
list1 = [1, 2, 3, 4, 5, 8, 6, 9, 7]
list1.reverse()
print(list1) # [7, 9, 6, 8, 5, 4, 3, 2, 1]
5.2 sort():排序,升序(默认)或降序
list1 = [1, 2, 3, 4, 5, 8, 6, 9, 7]
# list1.sort()
# print(list1) # [1, 2, 3, 4, 5, 6, 7, 8, 9] 升序
list1.sort(reverse=True)
print(list1) # [9, 8, 7, 6, 5, 4, 3, 2, 1] 降序
六、列表复制
name_list = ['Tom', 'Lily', 'Rose']
list1 = name_list.copy()
print(list1) # ['Tom', 'Lily', 'Rose']
print(name_list) # ['Tom', 'Lily', 'Rose']
七、列表的循环遍历
7.1 while
name_list = ['Tom', 'Lily', 'Rose']
i = 0
while i < len(name_list):
print(name_list[i])
i += 1
7.2 for
name_list = ['Tom', 'Lily', 'Rose']
for i in name_list:
print(i)
综合应用:随机分配办公室
"""
需求:8位老师,3个办公室,将8为老师随机分配到3个办公室
步骤:
1、准备数据
1.1 8位老师 --- 列表
1.2 3个办公室 --- 列表嵌套
2、分配老师到办公室
*** 随机分配
就是把老师的名字写入到办公室列表 -- 办公室列表追加老师名字数据
3、验证是否分配成功
打印办公室详细信息:每个办公室的人数和对应的老师名字
"""
import random
# 1. 准备数据
teachers = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
offices = [[], [], []]
# 2.分配老师到办公室 -- 取到每个老师放到办公室列表 -- 遍历老师列表数据
for name in teachers:
# 列表追加数据 -- append extend insert
num = random.randint(0, 2)
offices[num].append(name)
# print(offices)
# 为了更贴合生活,把每个办公室子列表加一个办公室编号1,2,3
i = 1
# 3. 验证是否分配成功
for office in offices:
# 打印办公室人数 -- 子列表数据的个数 len()
print(f'办公室{i}的人数是{len(office)}, 老师分别是:')
# 打印老师的名字
# print() == 每个子列表里面的名字个数不一定 -- 遍历 -- 子列表
for name in office:
print(name)
i += 1