0
点赞
收藏
分享

微信扫一扫

python 列表的增删改查

阿尚青子自由写作人 2022-03-20 阅读 219
python

# 什么是列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。

# 列表的定义

# 1、直接赋值
name = ["zeno","jackson","小红",18]# 存储不同的数据类型
# 2、创建空列表
n1 = []
n2 = list()
# 3、列表推导式后边讲

# 增

name = ["zeno","jackson","小红"]
a = '123'
# 列表结尾追加数据
name.append(a)  # ['zeno', 'jackson', '小红', '123']
# 列表结尾追加数据,如果数据是一个序列,则将这个序列中的数据逐一添加到列表
name.extend(a)  # ['zeno', 'jackson', '小红', '1', '2', '3']
# 指定位置新增数据
name.insert(1,a) # ['zeno', '123', 'jackson', '小红']

# 删

name = ["zeno","jackson","小红"]
del name   # 千万千万慎用  详情看我的另一篇文章
print(name) # NameError: name 'name' is not defined
del name[0]
print(name) # ['jackson', '小红']

# 删除指定下标的数据(默认为最后一个)
name.pop()
print(name) # ['zeno', 'jackson']
name.pop(0)
print(name) # ['jackson', '小红']

name.remove("jackson")
print(name) # ['zeno', '小红']

name.clear()
print(name) # []

另一篇文章

# 改

name = ["zeno","jackson","小红"]

name[0] = "zeno1"
print(name)

name = [1,4,2,5]
# 从小到大排序
name.sort()
print(name) #[1, 2, 4, 5]
# 从大到小排序 先排序,逆置
name.sort(reverse=True)
print(name) # [5, 4, 2, 1]

# 字符串翻转 原字符串为[1,4,2,5]  不排序直接翻转
name.reverse()
print(name) # [5, 2, 4, 1]

yui = [1,2,3]
yui[1] = 3
print(yui)

# 查

schoolNames = [['北京大学','清华大学'],
                    ['南开大学','天津大学','天津师范大学'],
                    ['山东大学','中国海洋大学']]
print(schoolNames[0][1])

name = ["zeno","jackson",18,"小红",18]
print(name.index(18)) # index()  只会输出第一个18的位置
print(name.index("18"))  #列表里没有"18",报错
# print(name.count("zeno"))# count()
# 用户输入一个数据,如果这个名字不在这个列表中,不存在,在这个列表中,这个名字已存在
user = input("请输入你的名字:")
if user in name:
    print("这个名字已存在")
else:
    print("不存在")

# 列表推导式

# for
li = []
for i in range(5):
    li.append(i)
print(li)

# [表达式 for 变量 in 列表]
print([i for i in range(5)])

# 把0-5之间的奇数添加到列表中去 i%2==0 偶数 i%2!=0 奇数
print([i for i in range(5) if i%2!=0])

#列表推导式写出 1-100
print([i for i in range(1,101)])

# 也能实现翻转
print([li[i] for i in range(len(li)-1,0-1,-1)])

# 列表的应用

# 一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分

"""
1.数据 办公室 8位老师的名字
2.分配老师到办公室 -- 随机
3.验证分配成功 打印每个办公室的人数和对应的老师的名字
"""
import random
# 办公室
offs = [[],[],[]]

# 8位老师
teacher = ['a','b','c','d','e','f','g','h']

# 分配老师到办公室
for i in teacher:
    # 把老师添加到办公室中
    index = random.randint(0,2)
    # append extend insert
    offs[index].append(i)
print(offs)

# 验证分配成功
for i in offs:
    # 打印每个办公室的人数
    print(f"每个办公室的人数为{len(i)}")
    # 打印老师的名字
    for j in i:
        print(f"名字是:{j}")
举报

相关推荐

0 条评论