列表的格式
[数据1,数据2,数据3,数据4]
列表可以一次性存储多个数据,且可以为不同数据
列表的常用操作
1、查找
下标
name_list = ['test1', 'test2', 'test3']
print(name_list[0])
print(name_list[2])
函数
index():返回指定数据所在位置的下标
语法:
列表序列.index(数据,开始位置下标,结束位置下标)
count():统计指定数据在当前列表中出现的次数
len():访问列表长度,即列表中数据的个数,是一个公共函数,,元组,列表,字典可以使用统计数据的个数。len(序列),即统计这个序列里的个数
name_list = ['test1', 'test2', 'test3']
print(name_list.index('test1'))
print(name_list.count('test1'))
print(len(name_list))
2、判断是否存在
in:判断指定数据在某个列表序列,如果在返回True,不在返回False, 也是一个公共操作。
not in :判断指定数据不在某个列表序列,如果不在返回True,在返回False
name_list = ['test1', 'test2', 'test3']
print('test1' in name_list)
print('test5' in name_list)
print('test66' not in name_list)
3、增加数据
增加指定数据到列表中
append():列表结尾追加数据
语法:
append().append(数据)
注意:
1、列表数据可改的, 列表可变类型
2、append函数追加数据的时候如果数据是一个序列,追加整个序列到列表的结尾。
name_list = ['test1', 'test2', 'test3']
# name_list.append('test4')
# print(name_list)
# 输出 ['test1', 'test2', 'test3', 'test4']
name_list.append([11, 22])
print(name_list)
# 输出 ['test1', 'test2', 'test3', [11, 22]]
extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表中
语法:
列表序列.extend(数据)
name_list = ['test1', 'test2', 'test3']
# name_list.extend('test4')
print(name_list)
# 输出 ['test1', 'test2', 'test3', 't', 'e', 's', 't', '4']
name_list.extend(['test4', 'test5'])
print(name_list)
# 输出 ['test1', 'test2', 'test3', 'test4', 'test5']
insert():指定位置新增数据
语法:
列表序列.insert(位置下标,数据)
name_list = ['test1', 'test2', 'test3']
name_list.insert(1, 'sss')
print(name_list)
# 输出 ['test1', 'sss', 'test2', 'test3']
4、删除
del
语法
del 目标
可以指定一个序列删除,也可以指定一个数据删除
name_list = ['test1', 'test2', 'test3']
# 1.del
del name_list
del name_list[0]
print(name_list)
# 输出 ['test2', 'test3']
pop(下标)
删除指定下标的数据,如果不指定下标,默认删除最后一个数据,无论是按照下标还是删除最后一个,pop函数都会返回这个被删除的数据
name_list = ['test1', 'test2', 'test3']
# 2. pop()
del_name = name_list.pop()
print(name_list)
# 输出 ['test1', 'test2']
remove():移除列表中某个数据的第一个匹配项
语法
列表数据,remove(数据)
name_list = ['test1', 'test2', 'test3']
# 3、remove(数据)
name_list.remove('test1')
print(name_list)
cleaer():清空列表
name_list = ['test1', 'test2', 'test3']
# 4、clear()
name_list.clear()
print(name_list)
5、列表修改
修改指定下标数据
name_list = ['test1', 'test2', 'test3']
# 1、修改指定下标的数据
name_list[0] = 'aaa'
print(name_list)
逆置:reverse()
# 2、逆序
list1 = [1, 3, 6, 8, 10]
list1.reverse()
print(list1)
排序:sort()
语法
列表序列.sort(key=None, reverse=False)
注意:reverse表示排序规则,reverse = True降序,reverse = False 升序(默认)
# 3、排序
list2 = [1, 3, 8, 7, 9]
# list2.sort()
list2.sort(reverse=True)
print(list2)
6、复制
函数:copy()
name_list = ['test1', 'test2', 'test3', 'test4']
list1 = name_list.copy()
print(list1)
7、列表循环遍历
while
name_list = ['test1', 'test2', 'test3']
i = 0
while i < len(name_list):
print(name_list[i])
i +=1
for
name_list1 = ['test111', 'test222', 'test333', 'test444']
for list1 in name_list1:
print(list1)
8、列表嵌套
一个大列表里嵌套一个小列表
nane_list = [['test1', 'test2', 'test3'], ['dev1', 'dev2', 'dev3'], ['pm1', 'pm2', 'pm3']]
print(nane_list[0])
print(nane_list[0][1])
9、列表应用
把8个老师随机分配到4个教师
"""
思路 ,准备数据 老师8个,教师4个
分配老师到办公室,取到每个老师放到办公室列表,遍历老师列表
验证数据
"""
import random
teachers = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
offices = [[], [], [], []]
for teacher in teachers:
num = random.randint(0, 3)
offices[num].append(teacher)
# print(offices)
i = 1
for office in offices:
print(f'{i}办公室人数{len(office)},老师分别是:')
for teach in office:
print(teach)
i += 1
10、列表总结
当一次性存储多个数据的时候,就可以用列表
[数据1,数据2, 数据3] ,
常用操作方法:
index()
len()
append()
pop()
remove()
列表嵌套
nane_list = [['test1', 'test2', 'test3'], ['dev1', 'dev2', 'dev3'], ['pm1', 'pm2', 'pm3']]
print(nane_list[0])
print(nane_list[0][1])
第一个字列表的第二个数据