Python列表是一种可变的有序集合,可以用来存储多个不同类型的元素。列表使用方括号 [] 来表示,元素之间用逗号 , 分隔。以下是一些创建和操作列表的示例:
列表的格式
[数据1, 数据2, 数据3, 数据4......]
列表可以⼀次性存储多个数据,且可以为不同数据类型。
创建一个空列表: my_list = []
创建一个包含一些元素的列表: my_list = [1, 2, 3, 'a', 'b']
列表的常⽤操作
查找
name_list =['Tom','Lily','Rose']
print(name_list.index('Tom')) # 0
# print(name_list.index('Toms'))
print(name_list.count('Tom')) # 1
print(name_list.count('Toms')) # 0
print(len(name_list)) # 3
name_list =['Tom','Lily','Rose']
# 1. in
print('Tom' in name_list) # True
print('Toms' in name_list) # False
# 2. not in
print('Tom' not in name_list) # False
print('Toms' not in name_list) # True
增加:添加元素到列表末尾
# 1.列表数据可改的--列表可变类型
# 2.append函数追加数据的时候如果数据是一个序列,追加整个序列到列表的结尾。
name_list =['Tom','Lily','Rose']
name_list.append('xiaoming') # ['Tom', 'Lily', 'Rose', 'xiaoming']
print(name_list)
name_list =['Tom','Lily','Rose']
name_list.append([11,12]) # ['Tom', 'Lily', 'Rose',[11, 12]]
print(name_list)
name_list =['Tom','Lily','Rose']
name_list.extend('xiaoming')
print(name_list)
name_list =['Tom','Lily','Rose'] #['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
name_list.extend(['11','22']) # ['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
print(name_list)
name_list =['Tom','Lily','Rose']
# name_list.insert(下标,数据)
name_list.insert(1,'lilei') # ['Tom', 'lilei', 'Lily', 'Rose']
print(name_list)
删除:从列表中删除元素
# 1.del
name_list =['Tom','Lily','Rose']
del name_list
name_list =['Tom','Lily','Rose']
del(name_list)
# del 可以删除指定下标的数据
name_list =['Tom','Lily','Rose']
del name_list[0] #['Lily', 'Rose']
print(name_list)
name_list =['Tom','Lily','Rose']
del name_list[1] # ['Tom', 'Rose']
print(name_list)
# 2 pop() --删除指定下标的数据,如果不指定下标,默认删除最后一个数据
# 无论是按照下标还是删除最后一个,pop函数都会返回这个被删除的数据
name_list =['Tom','Lily','Rose']
name_list.pop() # ['Tom', 'Lily']
print(name_list)
name_list =['Tom','Lily','Rose']
name_list.pop(1) # ['Tom', 'Rose']
print(name_list)
name_list =['Tom','Lily','Rose']
# 1.修改指定下标的数据
name_list[0] = 'aaa'
print(name_list) #['aaa', 'Lily', 'Rose']
修改:修改列表中的元素
name_list =['Tom','Lily','Rose']
# 1.修改指定下标的数据
name_list[0] = 'aaa'
print(name_list) #['aaa', 'Lily', 'Rose']
复制
# 复制
list1=[1,3,7,5,6,2]
list2 = list1.copy()
print(list1) # [1, 3, 7, 5, 6, 2]
print(list2) # [1, 3, 7, 5, 6, 2]
排序
# 2 逆序reverse()
list1=[1,3,7,5,6,2]
list1.reverse()
print(list1) # [2, 6, 5, 7, 3, 1]
# 3.sort() 排序:升序(默认) 和降序
list1=[1,3,7,5,6,2]
list1.sort()
print(list1) #[1, 2, 3, 5, 6, 7]
# 升序
list1=[1,3,7,5,6,2]
list1.sort(reverse=False)
print(list1) # [1, 2, 3, 5, 6, 7]
# 降序
list1=[1,3,7,5,6,2]
list1.sort(reverse=True)
print(list1)
列表的循环遍历
使用循环遍历列表中的元素
name_list =['Tom','Lily','Rose']
# 方法1
i = 0
while i < len(name_list):
print(name_list[i])
i+=1
# 方法2
for i in name_list:
print(i)
列表嵌套
name_list=[['小明','小红','小绿'],['Tom','linda','Jack'],['张三','李四','王五']]
print(name_list[2]) # ['张三', '李四', '王五']
print(name_list[2][1]) # 李四
综合应⽤
需求:8位老师,3个办公室,将8位老师随机分配到3个办公室
import random
#1 准备数据
teachers = ['A','B','C','D','E','F','G','H']
offices=[[],[],[]]
# 2.分配老师到办公室-- 取到每个老师放到办公室列表--遍历老师列表数据
for name in teachers:
# 列表追加数据
num = random.randint(0,2)
offices[num].append(name)
print(offices)
i = 1
for office in offices:
print(f'打印办公室{i}人数{len(office)},老师分别是:',end='')
for off in office:
print(off,end='\t')
print()
i+=1