Python_列表

Python_列表

1.列表的格式
(1)格式:[数据1,数据2,数据3······]
(2)注意:列表可以一次性存储多个数据,且可以为不同数据类型
2.列表的常用操作
2.1 查找
2.1.1下标

# 下标
name_list=['LiMing','zhangsan','lisi']
print(name_list[0])  #LiMing
print(name_list[1])  #zhangsan
print(name_list[2])  #lisi

2.1.2函数
(1)index():返回指定数据所在位置的下标
语法:列表序列.index(数据,开始位置下标,结束位置下标)
注意:不存在则报错
(2)count():统计指定数据在当前列表中出现的次数
语法:列表序列.count(数据,开始位置下标,结束位置下标)
注意:不存在则为0
(3)len():统计列表中数据的个数

# 2.1.2函数
name_list=['LiMing','zhangsan','lisi','zhangsan']
# 1.index()函数
print(name_list.index('lisi'))  #2
print(name_list.index('li'))  #报错

# 2.count()函数
print(name_list.count('zhangsan'))  #2
print(name_list.count('zhang'))  #找不到,则为0

# 3.len()函数
print(len(name_list))  #4

2.1.3 判断是否存在
(1)in:如果在则返回True,否则返回False
(2)not in:如果不在则返回True,否则返回False

# 2.1.3 判断是否存在
name_list=['LiMing','zhangsan','lisi']
# in练习
print('zhangsan' in name_list )  #True

# not in练习
print('zhangsan' not in name_list)  #False

(3)实际练习

# 2.1.3 判断是否存在实际案例
# 需求:查找用户输入的名字是否已经存在
name_list=['LiMing','zhangsan','lisi']
name=input('请输入名字:')
if name in name_list:
    print(f'您输入的名字是{name},用户名已经存在')
else:
    print(f'您输入的名字是{name},注册成功')

2.2.增加
(1)append():列表结尾增加数据
语法:列表序列.append(数据)
注意:
A:列表数据类型是可改的
B:append函数增加数据的时候如果数据是一个序列,则追加整个序列整体到列表的结尾

# 2.2.增加
# 1.append()函数
name_list=['LiMing','zhangsan','lisi']  #列表数据类型可改
name_list.append('xiaoming')
print(name_list)

name_list.append([23,45])
print(name_list)

在这里插入图片描述
(2)extend():列表结尾增加数据
语法:列表序列.extend(数据)
注意:增加数据的时候如果数据是一个序列,则将这个序列的数据逐一拆开添加至列表

# 2.extend()函数
name_list=['LiMing','zhangsan','lisi']
name_list.extend('xiaoming')
print(name_list)

name_list.append([23,45])
print(name_list)

在这里插入图片描述
(3)Insert():指定位置增加数据
语法:列表序列.insert(位置下标,数据)

# 3.insert()函数
name_list=['LiMing','zhangsan','lisi']
name_list.insert(1,'dsa')  #['LiMing', 'dsa', 'zhangsan', 'lisi']
print(name_list)

2.3.删除
(1)del
语法:del 目标
注意:del可以删除指定下标的数据也可以删除整体数据

# 1.del
name_list=['LiMing','zhangsan','lisi']
del name_list
# del (name_list)
print(name_list)  #删除之后,报错

del name_list[1]
print(name_list)  #['LiMing', 'lisi']

(2)pop()
语法:列表序列.pop(下标)
注意:删除指定下表的数据,如果不指定,则会默认删除最后一个数据;无论是按照下标还是删除最后一个,pop函数都会返回这个被删除的数据

# 2.pop
name_list=['LiMing','zhangsan','lisi']
pop_name=name_list.pop()
print(pop_name)  #lisi
print(name_list)  #['LiMing', 'zhangsan']

pop_name=name_list.pop(1)
print(pop_name)  #zhangsan
print(name_list)  #['LiMing', 'lisi']

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

# 3.remove
name_list=['LiMing','zhangsan','lisi']
name_list.remove('lisi')
print(name_list)  #['LiMing', 'zhangsan']

(4)clear():清空列表

# 4.clear
name_list=['LiMing','zhangsan','lisi']
name_list.clear()
print(name_list)  #[]

2.4 修改
(1)reverse():逆置
(2)sort():排序
语法:列表序列.sort(key=None,reverse=False)
注意:reverse表示排序规则,reverse=True表示降序,reverse=False表示升序(默认)

# 2.4 修改
# 1.修改指定下标的数据
name_list1=['LiMing','zhangsan','lisi']
name_list1[1]='adc'
print(name_list1)  #['LiMing', 'adc', 'lisi']

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

# 3.sort排序升序
list2=[1,4,2,3,5,6,7]
list2.sort(reverse=False)
print(list2)   #[1, 2, 3, 4, 5, 6, 7]

#4.sort排序降序
list3=[1,4,2,3,5,6,7]
list3.sort(reverse=True)
print(list3)   #[7, 6, 5, 4, 3, 2, 1]

2.5 复制
函数:copy()

# 2.5 复制
# copy()函数
name_list1=['LiMing','zhangsan','lisi']
list1=name_list1.copy()
print(list1)     #['LiMing', 'zhangsan', 'lisi']
print(name_list1)     #['LiMing', 'zhangsan', 'lisi']

3.列表的循环遍历
3.1 while

# 3.1 while
name_list=['LiMing','zhangsan','lisi']
i=0
while i<len(name_list):
    print(name_list[i])
    i+=1
# LiMing
# zhangsan
# lisi

3.2 for

# 3.2 for
name_list=['LiMing','zhangsan','lisi']
for i in name_list:
    print(i)
# LiMing
# zhangsan
# lisi

4.列表嵌套

# 4.列表嵌套
name_list=[['LiMing','zhangsan','lisi'],['tom','lily','rose']]
print(name_list)   #[['LiMing', 'zhangsan', 'lisi'], ['tom', 'lily', 'rose']]
print(name_list[0])  #['LiMing', 'zhangsan', 'lisi']
print(name_list[0][1])  #zhangsan

5.综合应用

# 综合应用
# 需求:有三个办公室,八位老师,将这八位老师随机分配到这三个办公室
import random
teachers=['a','b','c','d','e','f','g','h']      #老师人数
offices=[[],[],[]]      #办公室个数
for name in teachers:
    num=random.randint(0,2)    #随机分配办公室
    offices[num].append(name)    #办公室里分配的人的姓名
i=1
for office in offices:
    print(f'办公室{i}里面的人数是{len(office)}')  #打印每个办公室里的人数
    for name in office:
        print(f'办公室里的人是{name}')       #打印每个办公室里老师的名字
    i+=1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值