Python基础第五篇(列表)

列表知识点

列表的应用场景
列表的格式
列表的常用操作(查找,修改,删除)
列表的循环遍历
列表的嵌套使用

一、列表的应用场景

二、列表的格式
[数据1, 数据2, 数据3,数据4…]
列表可以一次存储多个数据,且不同格式

三、列表的常用操作
1 查找:
下标

name_list = ['Tom', 'Lily', 'Rouse']
print(name_list)
print(name_list[0])     # Tom
print(name_list[1])     # Lily
print(name_list[2])     # Rouse

2.函数
index()
语意:返回指定数据所在位置的下标
语法:列表序列.index(数据, 开始位置下标, 结束位置下标)

#     index(): 返回指定数据所在位置的下标
#     语法: 列表序列.index(数据, 开始位置下标, 结束位置下标)
name_list = ['Tom', 'Lily', 'Rouse']
print(name_list.index('Tom'))           # 0
print(name_list.index('Tom', 0, 3))     # 0
print(name_list.index('Lily', 0, 3))    # 1
print(name_list.index('Rouse', 0, 3))   # 2

count(): 统计指定数据在当前列表中出现的次数
语法: 列表序列.count(数据, 开始位置下标, 结束位置下标)

#     count(): 统计指定数据在当前列表中出现的次数
#     语法: 列表序列.count(数据, 开始位置下标, 结束位置下标)
name_list = ['Tom', 'Lily', 'Rouse']
print(name_list.count('Lily'))           # 1

len(): 访问列表长度,即列表中数据的个数
语法: len(列表序列)

#     len(): 访问列表长度,即列表中数据的个数
#     语法: len(列表序列)
name_list = ['Tom', 'Lily', 'Rouse']
print(len(name_list))           # 3

3.判断是否存在
in: 判断制定数据在某个列表序列,如果在返回True, 否则返回False
not in: 判断制定数据不在某个列表序列,如果不在返回True, 否则返回False

#   in: 判断制定数据在某个列表序列,如果在返回True, 否则返回False
name_list = ['Tom', 'Lily', 'Rouse']
print('Tom' in name_list)

#   not in: 判断制定数据不在某个列表序列,如果不在返回True, 否则返回False
name_list = ['Tom', 'Lily', 'Rouse']
print('Tom' not in name_list)

# in 案例:
name_list = ['Tom', 'Lily', 'Rouse']
name = input('请输入你要搜索的名字')
if name in name_list:
    print(f'你输入的名字是{name}, 名字已经存在')
else:
    print(f'你输入的名字是{name}, 名字不存在')

4. 修改列表数据
4.1. 增加数据
append()
语意:列表结尾追加数据
语法:列表序列.append(数据)

# append()
# 语意:列表结尾追加数据
# 语法:列表序列.append(数据)
name_list = ['Tom', 'Lily', 'Rouse']
name_list.append('jake')
print(name_list)
name_list.append(['xiao', 'zhang'])
print(name_list)
name_list.append(12)
print(name_list)
name_list.append([12, 89])
print(name_list)

extend()
语意:列表结尾增加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
语法:列表序列.extend(数据)

# extend()
# 语意:列表结尾增加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
# 语法:列表序列.extend(数据)
# 单个数据
name_list = ['Tom', 'Lily', 'Rouse']
name_list.extend('xiao')
print(name_list)    # ['Tom', 'Lily', 'Rouse', 'x', 'i', 'a', 'o']
# 序列数据
name_list = ['Tom', 'Lily', 'Rouse']
name_list.extend(['xiao', 'zhang'])
print(name_list)    # ['Tom', 'Lily', 'Rouse', 'xiao', 'zhang']

insert()
语意:指定位置增添数据
语法:列表序列.insert(位置下标, 数据)

# insert()
# 语意:指定位置增添数据
# 语法:列表序列.insert(位置下标, 数据)
name_list = ['Tom', 'Lily', 'Rouse']
name_list.insert(1, 'xiao')
print(name_list)

4.2 删除数据
del 目标
del (目标)

# del
# del 目标
# del (目标)
name_list = ['Tom', 'Lily', 'Rouse']
print(name_list)
del name_list[0]
print(name_list)

pop()
语意:删除指定下表数据,返回被删除的数据
语法:列表序列.pop(位置下标)

# pop()
# 语意:删除指定下表数据,返回被删除的数据
# 语法:列表序列.pop(位置下标)
name_list = ['Tom', 'Lily', 'Rouse']
print(name_list)
del_name = name_list.pop(1)
print(name_list)
print(del_name)

remove()
语意:删除列表中某个数据的第一个匹配项
语法:列表序列.remove(数据)

# remove()
# 语意:删除列表中某个数据的第一个匹配项
# 语法:列表序列.remove(数据)
name_list = ['Tom', 'Lily', 'Rouse']
name_list.remove('Rouse')
print(name_list)

clear()
语意:清空列表
语法:列表序列.clear()

# clear()
# 语意:清空列表
# 语法:列表序列.clear()
name_list = ['Tom', 'Lily', 'Rouse']
print(name_list)
name_list.clear()
print(name_list)

4.3 排序
reverse()
语意:逆置
语法:列表序列.reverse()

# reverse()
# 语意:逆置
# 语法:列表序列.reverse()
list1 = [1, 2, 3, 4, 5]
list1.reverse()
print(list1)    # [5, 4, 3, 2, 1]

sort()
语意:排序(升序,降序),默认升序排序
语法:列表序列.sort(key=None, reverse=False)
其中 reverse表示排序规则, reverse=True降序, reverse=False升序(默认)

# sort()
# 语意:排序(升序,降序),默认升序排序
# 语法:列表序列.sort(key=None, reverse=False)
# 其中 reverse表示排序规则, reverse=True降序, reverse=False升序(默认)
list1 = [1, 2, 3, 4, 5]
print(list1)
list1.sort()
print(list1)
list1.sort(reverse=True)
print(list1)

4.4 复制
copy()

# 4.4 复制
# copy()
name_list = ['Tom', 'Lily', 'Rouse']
list1 = name_list.copy()
print(name_list)
print(list1)

四、列表的循环遍历

  1. 列表循环遍历之while()
# 列表循环遍历之while()
name_list = ['Tom', 'Lily', 'Rouse']
i = 0
while i < len(name_list):
    print(name_list[i])
    i += 1
  1. 列表循环遍历之for()

# 列表循环遍历之for()
name_list = ['Tom', 'Lily', 'Rouse']
for i in name_list:
    print(i)

五、列表的嵌套使用
列表中包含其它子列表

# 列表中包含其它子列表
name_list = [['Tom', 'Lily', 'Rouse'],
             ['大一', '小二', '三丫'],
             ['牛大', '猴儿', '猪头']]
print(name_list)

案例:随机分配办公室
需求:8位老师,3个办公室,将8位老师随机分配到3个办公室

# 样例:随机分配办公室
# 需求:8位老师,3个办公室,将8位老师随机分配到3个办公室
'''
步骤:
1. 准备数据:
    a. 8位老师--列表
    b. 3个办公室--列表嵌套
2. 分配老师到办公室
    **随机分配
    把老师名字写入办公室列表
3. 验证是否分配成功
    打印办公室分配详细数据
'''
import random

# 1. 准备数据
teachers = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
offices = [[], [], []]

# 2.分配老师到办公室
for name in teachers:
    # 列表追加数据--append(选中) entend insert
    # 随机
    num = random.randint(0, 2)
    offices[num].append(name)

# # 3. 验证是否分配成功
i = 1
for office in offices:
    # 打印办公室人数
    print(f'办公室{i}的人数是{len(office)}, 老师分别是:')
    # 打印老师名字
    for name in office:
        print(name)
    i += 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值