python—列表的基本知识与应用

目录

知识点:获取子列表,遍历列表,对列表进行操作,输出列表

习题:列表的综合实例


知识点:

1.使用切片方式访问(获取子列表)

● 格式:列表 [ start : end : step ]
start: 起始位置(包括此位置),默认为0
end: 结束位置(不包括此位置),不写则默认为列表长度
step:切片步长默认为1

●使用切片可以截取列表中的部分元素,得到一个新列表。切片适用于列表、元组、字符串、range对象等。
print(list1[2:])   # 获取列表中索引为2至末尾的元素
print(list1[:3])   # 获取列表中索引为0至索引值为3的元素
print(list1[:])     # 获取列表中的所有元素
print(list1[-len(list1)])  # 输出最左边的元素

示例代码:

list1 = ["fish", "pig", "dog", "cat"]

print(list1[2:])  # 获取列表中索引为2至末位所有元素

print(list1[-1])

print(list1[1:4:2])

print(list1)      # 输出所有元素

print(list1[::-1])    # 逆向输出

2.遍历列表(range 函数索引遍历;enumerate函数遍历)

list1 = ["fish", "pig", "dog", "cat"]

for i in list1:

    print(i, end=" ")

# range 函数索引遍历

list1 = ["fish", "pig", "dog", "cat"]

for i in range(len(list1)):

    print(f"索引为{i}的元素是:{list1[i]}")

#   enumerate函数遍历

list1 = ["fish", "pig", "dog", "cat"]

for i, item in enumerate(list1):

    print(f"索引为{i}的元素是:{item}")

3.对列表进行增删改

# 追加 (append增加元素;extend追加列表)

list1 = ["fish", "pig", "dog", "cat"]

list2 = [1, 2, 3]

list1.append("鱼摆摆")

list1.extend(list2)

print(list1)

# 插入(insert插入元素)

list1 = ["fish", "pig", "dog", "cat"]

list1.insert(1, "yubaibai")

print(list1)

# 移出(remove移除某个元素;del 删除列表指定位置的元素)

list1 = ["fish", "pig", "dog", "cat"]

list1.remove("pig")   # 移除某个元素

list1.pop()        # 默认移除最后一个元素

del list1[1]  # 删除指定位置的元素

print(list1)

#   修改替换

list1 = ["fish", "pig", "dog", "cat"]

list1[1] = "yu bai bai"

list1[1:4] = [9, 10]    # 替换切片位置的元素

print(list1)

4.输出列表(升序,降序,永久,临时)

# 输出升降序

list1 = [12, 56, 24, 13, 45]

list1.sort()   # 升序  无法恢复顺序 永久

list1.sort(reverse=True)  # 降序  无法恢复顺序 永久

list1.reverse()  # 反转 永久

print(sorted(list1))   # 临时升序排序

print(list1)

list2 = ["fish", "pig player", "big dog", "cat"]

list2.sort(key=len)   # 按长度  从小到大

print(list2)

习题:

实例1:编写程序,将8名教师随机分配到3个办公室中。

代码:

方法一:

import random

offices = [[], [], []]

list1 = ["王老师", "张老师", "李老师", "周老师", "吴老师", "赵老师", "高老师", "刘老师"]

for name in list1:

    n = random.randint(0, 2)

    offices[n].append(name)

i = 1

for office in offices:

    print("办公室%d的人数为:%d" % (i, len(office)))

    i += 1

    for name in office:

        print(name, end="\t")

    print(end="\n")

方法二:

import random

offices = [[], [], []]

list1 = ["王老师", "张老师", "李老师", "周老师", "吴老师", "赵老师", "高老师", "刘老师"]

for name in list1:

    n = random.randint(0, 2)

    offices[n].append(name)

for i in range(len(offices)):

    print(f"办公室{i+1}的人数为:{len(offices[i])}")

    for name in offices[i]:

        print(name, end=" ")

    print()

实例2(列表的综合应用实现增删改查):

好友管理系统中有5个功能,每个功能都对应一个序号,用户可根据提示“请输入您的选项”选择序号执行相应的操作,包括:

添加好友:用户根据提示“请输入要添加的好友:”输入要添加好友的姓名,添加后会提示“好友添加成功”。

删除好友:用户根据提示“请输入删除好友姓名:”输入要删除好友的姓名,删除后提示“删除成功”。

备注好友:用户根据提示“请输入要修改的好友姓名:”和“请输入修改后的好友姓名:”分别输入修改前和修改后的好友姓名,修改后会提示“备注成功”。

展示好友:若用户还没有添加过好友,提示“好友列表为空”,否则返回每个好友的姓名。

退出:关闭好友管理系统。
 

 

代码:

list1 = []

print("好友管理系统")

print("1.添加好友")

print("2.删除好友")

print("3.备注好友")

print("4.展示好友")

print("5.退出")

while True:

    i = int(input("请输入您的选项:"))

    if i == 1:

        f = input("请输入添加的好友:")

        list1.append(f)

        print("好友添加成功")

    elif i == 2:

        f = input("请输入删除好友姓名:")

        list1.remove(f)

        print("删除成功")

    elif i == 3:

        name_first = input("请输入要修改的好友姓名:")

        name_last = input("请输入修改后的好友姓名:")

        i = list1.index(name_first)

        list1[i] = name_last

        print("备注成功")

    elif i == 4:

        if len(list1) == 0:

            print("好友列表为空")

        else:

            for n in list1:

                print(n)

    elif i == 5:

        break

print("退出好友系统")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端挣扎的鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值