一、列表(可以一次性存储多个数据,且可以为不同数据类型)
1、列表格式
[数据1,数据2,数据3.......]
2、列表的常用操作(增、删、改、查)
(1)查找
下表查找法 | name_list = ['tom', 'lily', 'rose'] print(name_list[0]) print(name_list[1]) print(name_list[2]) |
函数查找法 | index(): 返回指定数据所在位置的下标(查不到则报错) 语法: 列表序列.index(数据,开始位置下标,结束位置下标) count() :统计指定数据在当前列表中出现的次数 语法: 列表序列.count(数据) len() :访问列表长度,即列表中数据的个数 语法: len(数据) |
(2)判断是否存在
in:判断指定数据在某个列表序列,如果在返回True,否则返回False | 例: name_list['tom', 'lily','rose'] print('lily' in name_list) # 结果:True |
not in :判断指定不数据在某个列表序列, | 与in用法相同 |
(3)增加(增加指定数据到列表中)
append(): 列表结尾追加数据。如果追加的数据是一个序列,则添加整个序列到列表。 | 列表序列.append(数据) |
extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表。 | 列表序列.extend(数据) |
insert(): 指定位置新增数据。 | 列表序列.insert(位置下标,数据) |
注:列表的数据是可改的 ---- 列表是可变类型
(4)删除
函数 | 用法 | 例子 |
del:可以删除整个列表,也可以删除指定下标数据 | del 目标(或者 del (目标) ) | 1. name_list = ['tom', 'lily', 'rose']
del name_list[0]
print(name_list)
2. del name_list/(name_list) (列表被删除,现在打印则报错) |
pop():删除指定数据(默认为最后一个),并返回该数据 | 列表序列.pop(下标) | name_list.pop(1) print(name_list) |
remove():移除某个数据的第一个匹配项 | 列表序列.remove(数据) | name_list.remove('xiaoming') print(name_list) |
clear():请空列表 | 列表序列.clear() | name_list.clear() print(name_list) |
(5)修改
功能 | 例子 |
修改指定下表数据 | name_list[0] = "aaa" |
逆置:reverse() | num_list.reverse() |
排序:sort() 列表序列.sort(reverse=False/True) | num_list.sort() reverse = True 降序 reverse = False 升序(默认) |
(6)复制
函数: copy()
例: name_list = ['Tom','Lily','Rose']
name_list1 = name_list.copy()
3.列表的循环遍历
(1)while
例:依次打印列表中的各个数据
name_list = ['Tom', 'Lily', 'Rose']
i = 0
while i < len(name_list):
print(name_list[i])
i += 1
(2)for
name_list = ['Tom', 'Lily', 'Rose']
for i in name_list:
print(i)
4.列表嵌套(一个列表例里面包含了其他的子列表)
例;
name_list2 =[['Tom', 'Lily', 'Rose'], ['张三', '李四', '王五'], ['xiaoming', 'xiaohong', 'xiaolv']]
print(name_list2) (所有) print(name_list2[0]) (嵌套的第一个列表) print(name_list2[0][1]) (嵌套的第一个列表中的第二个数据)
5.例题(随机分配办公室)
import random
teachers = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'] offices = [[], [], []] i = 1 for name in teachers: num = random.randint(0, 2) offices[num].append(name) print(offices) for office in offices: print(f'办公室{i}的人数是{len(office)}, 老师的名字分别是:') for name in office: print(name) i += 1
随机一次打印结果:
[['A', 'G', 'H'], ['B', 'D'], ['C', 'E', 'F']]
办公室1的人数是3, 老师的名字分别是:
A
G
H
办公室2的人数是2, 老师的名字分别是:
B
D
办公室3的人数是3, 老师的名字分别是:
C
E
F