Python学习笔记(七)列表

Python学习笔记(七)列表

一、列表

1、列表的应用场景

在这里插入图片描述

2、列表的格式

列表可以一次性存储多个数据,*且可以为不同数据类型。*但一般为了后期方便控制,一般存储相同数据类型。

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

3、列表的常用操作函数

在这里插入图片描述

3.1 查找
3.1.1 下标
name_list=['Tom','Lisa','Rose']
print(name_list[0])  #Tom
print(name_list[1])  #Lisa
print(name_list[2])  #Rose
3.1.2 函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例子 :

name_list = ['Tom','Lisa','Rose']

# 1. 下标查找
print(name_list[0])  #Tom
print(name_list[1])  #Lisa
print(name_list[2])  #Rose

#函数查找
# 2. index()
print(name_list.index('Lisa'))
print(name_list.index('Rose'))
# 3. count()
print(name_list.count('Tom'))
print(name_list.count('Jack'))
# 4. len()
print('列表中数据个数:',len(name_list))

结果截图:
在这里插入图片描述

3.1.3 判断是否存在在这里插入图片描述

在这里插入图片描述
案例1:

name_list = ['Tom','Lisa','Rose']

# 1.in
print('Tom'in name_list)  #True
print('Linda'in name_list)  #False

# 2.not in
print('Tom' not in name_list)  #False 
print('Linda'not in name_list)  #True

案例2:

# 需求:用户注册邮箱输入账号名,如果这个账号名存在,提示用户;否则,成功注册
account = input('请您输入账号:')
if account in name_list:
    print('此账号已经注册,请重新输入账号')
else:
    print('成功注册此账号')

在这里插入图片描述
在这里插入图片描述

3.2 增加数据

增加指定数据到列表中
在这里插入图片描述

3.2.1 append():列表结尾添加数据。如果数据是一个序列,则将这个序列直接添加到列表结尾。

语法:

列表序列.append(数据)
3.2.2 extend():列表结尾添加数据。如果数据是一个序列,则将这个序列的数据拆开一一添加到列表结尾。

语法:

列表序列.extend(数据)
3.2.3 inser():指定位置新增数据。

语法:

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

实例:

#列表之添加函数
# 1. append()
name_list1 = ['Tom','Lisa','Rose']
print(name_list1.append('Jack'))  #append()函数没有返回值
print(name_list1)  #将Jack追加到序列结尾,说明序列是可变数据类型
name_list1.append([11,22])  #append()追加的数据如果是一个序列,那么它是将整个序列追加到原列表结尾
print(name_list1)

# 2.extend()
name_list2 = ['Tom','Lisa','Rose']
name_list2.extend('Jack')
print(name_list2)  #extend()追加的数据如果是一个序列,那么它是将序列拆开逐一追加到原列表结尾
name_list2.extend([11,23,72])
print(name_list2)

# 3.insert()
name_list3 = ['Tom','Lisa','Rose']
name_list3.insert(2,'Jack')  #在下标位置数据前添加
print(name_list3)

结果截图:
在这里插入图片描述

3.3 删除

在这里插入图片描述

name_list1 = ['Tom','Lisa','Rose']
del name_list1  #del(name_list1)
print(name_list1)

在这里插入图片描述
del还可以删除指定下标的数据

# del还可以删除指定下标的数据
del name_list1[0]
print(name_list1)

在这里插入图片描述
在这里插入图片描述

name_list1 = ['Tom','Lisa','Rose']
#pop() -- 删除指定下标的数据,如果不指定下标,默认删除最后一个数据。
# 无论是按照下标还是最后一个,pop函数都会返回这个被删除的数据
print(name_list1.pop(2))  #返回被删除元素
print(name_list1)  #删除后原列表保留的数据

在这里插入图片描述
在这里插入图片描述

name_list1 = ['Tom','Lisa','Rose']
#  remove(数据)
name_list1.remove('Rose')
print(name_list1)

在这里插入图片描述
在这里插入图片描述

name_list1 = ['Tom','Lisa','Rose']
#  clear() -- 清空
name_list1.clear()
print(name_list1)

在这里插入图片描述

3.4 修改

在这里插入图片描述

name_list1 = ['Tom','Lisa','Rose']

# 1.修改指定下标的数据
name_list1[0] == 'Jack'
print(name_list1)

在这里插入图片描述
在这里插入图片描述

# 2,逆序 reverse()
list1 = [6,3,5,24,2]
list1.reverse()
print(list1) #[2,24,5,3,6]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 3.sort() 排序:升序 和 降序
list2 = [87,72,99,100]
list2.sort()  #默认升序
print(list2)
list2.sort(reverse= False)  #升序
print(list2)
list2.sort(reverse = True)  #降序
print(list2)

在这里插入图片描述

3.5 复制

函数:copy()

# copy() -- 复制数据
name_list = ['Tom','Lisa','Rose']
name_list2 = name_list.copy()
print(name_list2)  #['Tom','Lisa','Rose']

4、列表的循环遍历

需求:依次打印列表中的各个数据。

4.1 while
name_list = ['Tom','Lisa','Rose']
# 1.while
i = 0
while i < len(name_list):
    print(name_list[i],end='   ')
    i += 1

在这里插入图片描述

4.2 for
name_list = ['Tom','Lisa','Rose']
# 2.for
for j in name_list:
    print(j,end='   ')

在这里插入图片描述
注意:比较同一需求情况下,for循环的代码量远小于while,一般数据遍历优先考虑for循环。

5.列表嵌套

在这里插入图片描述
例子:

name_list = [['Tom','Lily','Rose'],['小明','李四'],['xiaoming','xiaohang']]
print(name_list)
print(name_list[0])  #['Tom','Lily','Rose']

# 列表嵌套时的数据查询
print(name_list[1][1])  #李四

结果截图:
在这里插入图片描述

6.综合运用 – 随机分配办公室

需求:有三个办公室,8位老师随机分配到3个办公室。
代码:

#需求:有三个办公室,8位老师随机分配到3个办公室
'''
步骤:
1.准备数据
  1.1 8 位老师  -- 列表
  1.2 3 个办公室 -- 列表嵌套
2.分配老师到办公室
   ***随机分配:即将老师名字分配到办公室
3.验证是否分配成功
  打印办公室的详细信息,每个办公室的人数和老师的名字

'''

import random

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

# 2.分配老师到办公室 -- 取到每个老师追加到某个办公室 -- 遍历老师数据
for name in Teacher:
    # 列表追加数据 -- append(选择它) extend insert
    # xx[0] -- 要随机下标
    num = random.randint(0,2)
    Office[num].append(name)
print(Office)

# 3. 验证是否打印成功
i = 1
for office in Office:
    print(f'办公室{i}人数为{len(office)},老师的名字分别为:')
    for name in office:
        print(name)
    i += 1

结果截图(1):
在这里插入图片描述
结果截图(2):
在这里插入图片描述

7.总结

在这里插入图片描述

发布了14 篇原创文章 · 获赞 0 · 访问量 532

猜你喜欢

转载自blog.csdn.net/Ydn000/article/details/104208195