一、列表基础知识:

1、列表的作用:

列表⼀次性可以存储多个数据,且可以为不同数据类型。

如:⼀个班级100位学⽣的姓名。

2、列表的格式:

[数据1, 数据2, 数据3, 数据4......]

3、列表的下标:

从0开始的整数

# 下标,从0开始
list1 = ['Amy', 'Lily', 'Tom', 'Lily']
print(list1[0])  # Amy
print(list1[2])  # Tom

4、列表的常用操作:

• 增加 append():列表结尾追加数据
 extend():列表末尾追加另一个序列中的多个值
 insert():指定位置新增数据

删 del

•  pop():删除指定下标的数据(默认为最后⼀个),并返回该数据
 remove():移除列表中某个数据的第⼀个匹配项
 clear():清空列表
  • 改 reverse():逆置
•  sort():排序
  • 查 index():返回指定数据所在位置的下标
    count():统计指定数据在当前列表中出现的次数
    len():访问列表长度,即列表中数据的个数
  • 判断 in:判断指定数据在某个列表序列
    not in:判断指定数据不在某个列表序列
  • 拷贝 copy() :返回复制后的新列表

5、列表的循环

循环遍历列表元素

  • while
  • for

6、嵌套列表

格式:[ [数据1, 数据2…], [数据1, 数据2, …],[数据1, 数据2…] ]

二、列表实际操作

(1)、列表的常用操作:

1、增加

作用:增加指定数据到列表中

方法

描述

语法

append()

增加指定数据到列表末尾,如果是一个序列,将作为一个整体追加到列表末尾。

列表序列.append(数据)

extend()

增加指定数据到列表末尾,如果是一个序列,则将序列的元素逐一增加到列表的末尾。

列表序列.extend(数据)

insert()

在列表指定位置新增数据

列表序列.insert(位置下标, 数据)

append()

names = ['Amy', 'Lily', 'Tom']
names.append('linda')
print(names)

names.append(['zhangsan','lisi'])
print(names)

out:

python对于列表的操作 python列表的基本操作_python对于列表的操作


append()追加数据,把序列作为一个整体!

extend()

# 列表.expend(data)
names = ['Amy', 'Lily', 'Tom']
# 增加一个字符序列
names.extend('Linda')
print(names)

# 增加一个列表序列
names.extend(['zhangsan','lisi'])
print(names)

out:

python对于列表的操作 python列表的基本操作_指定位置_02

insert()

# 列表.insert(位置下标,数据)
names = ['Amy', 'Lily', 'Tom']
names.insert(1, 'Jack')
print(names)

out:

python对于列表的操作 python列表的基本操作_指定位置_03



2、删

方法

描述

语法

del

删除列表或指定数据

del 列表/del 列表[下标]

pop()

删除指定下标的数据,不指定默认最后一个

列表序列.pop(下标)

remove()

移除列表中指定数据的第一个匹配项

列表序列.remove(数据)

clear()

清空列表

列表序列.clear()

del

删除列表

names = ['Amy', 'Lily', 'Tom']
print(names)
del names
print(names)  # NameError: name 'names' is not defined

out:

python对于列表的操作 python列表的基本操作_python对于列表的操作_04


删除列表中指定元素

names = ['Amy', 'Lily', 'Tom']
del(names[1])
print(names)  # ['Amy', 'Tom']

pop()

# 列表.pop(下标)
names = ['Amy', 'Lily', 'Tom']

# 用变量接收pop返回的被删除的数据
pop_name = names.pop(0)
print(names)  # ['Lily', 'Tom']
print(pop_name)

out:

python对于列表的操作 python列表的基本操作_python对于列表的操作_05

remove()

# 列表.remove(数据)
names = ['Amy', 'Lily', 'Tom', 'Lily']
names.remove('Lily')
print(names)

out:

python对于列表的操作 python列表的基本操作_嵌套_06


pop仅删除列表中第一次匹配到的目标数据。

clear()

# 列表.clear()
names = ['Amy', 'Lily', 'Tom', 'Lily']
names.clear()
print(names)

out:

[]

clear清空了列表数据,留下一个空列表。

3、修改

修改指定下标数据

nums = [1, 3, 5, 4, 2]
# 修改指定下标数据
nums[1] = 6
print(nums)  # [1, 6, 5, 4, 2]

reverse() 倒置列表元素排列顺序

# reverse 将列表数据从右到左倒置
nums = [1, 3, 5, 4, 2]
nums.reverse()
print(nums)   # [2, 4, 5, 3, 1]

sort() 排序

"""
sort 排序,默认升序排序
    列表.sort(key=none,reverse=False)
    reverse 表示排序规则,当reverse=True,降序排序;当reverse=False,升序排序
"""
nums = [1, 3, 5, 4, 2]
nums.sort()
print(nums)  # [1, 2, 3, 4, 5]
nums.sort(reverse=True)
print(nums)  # [5, 4, 3, 2, 1]

4、查

根据下标进行数据查询

list1 = ['Amy', 'Lily', 'Tom', 'Lily']
print(list1[0])  # Amy
print(list1[2])  # Tom

index() 查找指定数据的下标

# index--返回指定下标的数据,如果未找到,抛出异常
# 语法:列表序列.index(数据,开始下标,结束下标)
print(list1.index('Tom'))  # 2
print(list1.index('Lily', 2, 4))  # 3

count() 计数

list1 = ['Amy', 'Lily', 'Tom', 'Lily']
# count--统计当前数据在列表出现的次数
print(list1.count('Lily'))  # 2

len() 统计列表长度

list1 = ['Amy', 'Lily', 'Tom', 'Lily']
# len--统计列表长度,即列表中数据的个数
print(len(list1))  # 4

5、判断

in是否存在

# in --判断指定数据是否存在于列表之中,存在,true;反之,false
list1 = ['Amy', 'Lily', 'Tom', 'Lily']
print('Amy' in list1)  # True
print('Amys' in list1)  # False

not in 是否不存在

# not in --判断指定数据是否存在于列表之中,不存在,true;反之,false
print('Amy' not in list1)  # False


6、拷贝

copy() 返回复制后的新列表

# 复制
copy: 将列表的数据复制一份,一般用于涉及到数据删除的场景,先复制,再删除
'''
nums = [1, 3, 5, 4, 2]
print(nums.copy())  # [1, 3, 5, 4, 2]

copy_num = nums.copy()
print(id(nums)) # 1651303338504
print(id(copy_num)) # 1651303339016

(2)、列表循环

names = ['Amy', 'Lily', 'Tom', 'Ada']
i = 0
while i < len(names):
    print(names[i])
    i += 1

for i in names:
    print(i)

(3)、列表嵌套

定义嵌套列表

list1 = [['张三', '李四' ,'王五'], ['lily', 'tom' ,'ada'], ['xiaohong', 'xiaolan' ,'xiaolv']]

查询嵌套列表

print(list1[0][2])  # 王五
print(list1[2][0])

嵌套列表使用案例:

'''
嵌套列表的使用案例:

将八位老师随机分配到三个办公室
	1、准备数据 --八位老师、三个办公室
	2、人员分配
	   随机分配,把老师的名字写到办公室列表中
	3、验证数据
	   打印办公室详细信息,每个办公室分配到的老师的名字
'''
import random
# 准备数据
teacher = ['t1', 't2', 't3', 't4', 't5', 't6', 't7', 't8']
offices = [[], [], 
[]]
# 分配老师到办公室
for n in teacher:
    # 将老师的名字随机追加到办公室列表,一共三个办公室,下标0-2
    r = random.randint(0, 2)
    offices[r].append(n)
# 验证数据,打印办公室详细分配数据
i = 1
for name in offices:
    print(f'办公室{i}:{name}')
    i += 1

out:

办公室1:['t4', 't8']
办公室2:['t2', 't5', 't6', 't7']
办公室3:['t1', 't3']