您的位置:首页 > 其它

2020-08-24 Pyhton的列表常用操作

2020-08-24 09:36 239 查看

增删改查
1.增加元素
a.list.insert(index,data):在指定位置插入值
b.list.append(data):在末尾追加一个值
c.list.extend(Iterable):将另一个列表(也可以)的全部内容追加到末尾

list1=[5,7,8]
list2=[6,'data',9]
list3=list1.append(list2)
list4=list1.extend(list2)

print(list3)
#[5, 7, 8, [6, 'data', 9]]
print(list4)
#[5, 7, 8, 6, 'data', 9]

2.删除元素
a.del list[list]:在末尾追加一个值,需要知道元素位置
b.list.emove[data]:直接删除列表里面的值,不需要知道位置。如果有多个值,只删除第一个
c.list.pop():可指定索引删除,不指定会删除最后一个

list=[5,7,8]
# 这里指定删除索引为1的元素,即7
list.pop(1)
# 不指定索引就删除最后一个元素,即8
# list.pop()
print(list)
#输出结果:
#[5, 8]
#注意:pop 函数还有返回值,会返回被删除的值
list=[5,7,8]
res=list.pop()
print(list)
print(res)
#输出结果:
#[5, 7] 8

c.list.clear():清空列表
3.修改元素: 直接指定索引赋值,就是修改元素内容

list=[5,7,8]
list[0]='data'
print(list)
#输出结果:
#['data', 7, 8]

4.查询元素
a.list[index]:根据索引获取(查询)值
b.list.index(data):查询给定值的索引,即想要知道元素的位置,如果查询元素有多个相同值只会返回第一个值出现的记录
c.list.count(data):查询值出现的次数
d.len(list):有多少个元素
e.if data in list:判断元素是否在列表中,用作条件语句中

5.元素排序
1.list.sort()

list=[5,7,9,0,4]
# 注意数字和字符串不能一起排序,会报错
# 默认是升序排列
list.sort()
# 降序排列,得到 [9, 7, 5, 4, 0]
# list.sort(reverse=True)
print(list)
#[0, 4, 5, 7, 9]
list=[5,7,9,0,4,'8']
# 这里是使用 int 函数,意思是将里面可以转换为数字的字符串转换成数字来排序,如果转换不成功会报错,如‘8d’ 显示是不能转换为数字类型的
list.sort(key=int,reverse=True)
print(list)
#[9, '8', 7, 5, 4, 0]

课堂作业
应用(有点难):一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配,假设每个教室可以容纳任意数量的教师

import random
# 定义一个列表用来保存3个办公室
offices = [[],[],[]]
# 定义一个列表用来存储8位老师的名字
names = ['A','B','C','D','E','F','G','H']

我的答案

print(len(names))
for i in range(len(names)):
location = random.randint(0,2)
offices[location].append(names[i])
print(offices)

#8
#[['D', 'E', 'F'], ['A', 'B'], ['C', 'G', 'H']]
#打印结果
for i in range(len(offices)):
print("第%d个办公室坐着%s"%(i,offices[i]))
#第0个办公室坐着['D', 'E', 'F']
#第1个办公室坐着['A', 'B']
#第2个办公室坐着['C', 'G', 'H']

答案:(比较优化:)

i = 1
for tempNames in offices:
print('办公室%d的人数为:%d'%(i,len(tempNames)))
i+=1
for name in tempNames:
print("%s"%name,end=' ')
print("\n")
print("-"*20)
办公室1的人数为:3
D E F

--------------------
办公室2的人数为:2
A B

--------------------
办公室3的人数为:3
C G H

--------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: