Python入门:04 列表(下)NP27 - NP31

255 阅读6分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情

🤵‍♂️ 个人主页: @Flyme awei 个主页
👨‍💻 作者简介:Python领域新星创作者。
📒 系列专栏:《在线编程-Python篇
🌐推荐一款找工作神器网站:《牛客网》|笔试题库|面试经验|实习经验内推|
🐋 希望大家多多支持😘一起进步呀!
📝 如果文章对你有帮助的话,欢迎评论 💬点赞 👍收藏 📂加关注

牛客题库《在线编程-Python篇

python的学习还是得基础知识+自己动手同步进行。如果是python新手,需要找一个可以在线练习得网站,我建议你去牛客网多练习。

在这里插入图片描述

Python入门:04 列表(下)NP27 - NP31在这里插入图片描述

列表常用操作方法:

方法描述
ls.append(x)在列表ls末尾添加一个元素x
ls.insert(i, x)在列表ls的第i个位置增加元素x
ls.clear()删除列表ls所有元素
ls.pop(i)将列表ls的第i个元素取出并从ls中删除该元素
ls.remove(x)将列表中出现的第一个元素x删除
ls.reverse()将列表ls中的元素反转
ls.copy()生成一个新列表,复制ls中的所有元素

NP27 朋友们的喜好

描述 牛牛有一个name = ['Niumei', 'YOLO', 'Niu Ke Le', 'Mona'] 记录了他最好的朋友们的名字,请创建一个二维列表friends,使用append函数将name添加到friends的第一行。

假如Niumei最喜欢吃pizza,最喜欢数字3YOLO最喜欢吃fish, 最喜欢数字6Niu Ke Le最喜欢吃potato,最喜欢数字0Mona最喜欢吃beef,最喜欢数字3

请再次创建一个列表food依次记录朋友们最喜欢吃的食物,并将创建好的列表使用append函数添加到friends的第二行;

然后再创建一个列表number依次记录朋友们最喜欢的颜色,并将创建好的列表使用append函数添加到friends的第三行。

这样friends就是一个二维list,使用print函数直接打印这个二维list

输入描述:

输出描述:

[['Niumei', 'YOLO', 'Niu Ke Le', 'Mona'], ['pizza', 'fish', 'potato', 'beef'], [3, 6, 0, 3]]

代码:

name = ['Niumei', 'YOLO', 'Niu Ke Le', 'Mona']
friends = []
friends.append(name)
food = ['pizza', 'fish', 'potato', 'beef']
friends.append(food)
number = [3, 6, 0, 3]
friends.append(number)
print(friends)

自测运行成功,保存提交 在这里插入图片描述


NP28 密码游戏

描述 牛牛和牛妹一起玩密码游戏,牛牛作为发送方会发送一个4位数的整数给牛妹,牛妹接收后将对密码进行破解。

破解方案如下:每位数字都要加上3再除以9的余数代替该位数字,然后将第1位和第3位数字交换,第2位和第4位数字交换。

请输出牛妹破解后的密码。

输入描述: 输入一个四位数的整数。

输出描述: 输出破解后的密码,以四位数的形式。

示例1 输入:1234 输出:6745

备注: 输入不会有前置0,但是输出要保持前置0

代码:

num = input()
ls = []
for i in num:
    ls.append((int(i)+3)%9)
print(f"{ls[2]}{ls[3]}{ls[0]}{ls[1]}")

自测运行成功,保存提交 在这里插入图片描述


NP29 用列表实现栈

描述 栈是一种先进后出的数据结构,类似我们生活中挤电梯,最后进入的肯定是先出来,现我们用Python的列表来模拟栈。假设初始的列表为 stack = [1, 2, 3, 4, 5],请将其视作栈,使用pop函数弹出末尾两个元素,再使用append函数将输入元素加入到栈中,每次操作完成后都要输出整个列表。

输入描述: 输入要加入栈中的整数。

输出描述: 第一行输出第一次出栈后的列表; 第二行输出第二次出栈后的列表; 第三行输出元素入栈后的列表。

示例1 输入:1 输出:[1, 2, 3, 4]    [1, 2, 3]    [1, 2, 3, 1]

说明:

第一次弹出末尾元素5,第二次弹出末尾元素4,第三次加入新增元素1

代码:

stack = [1, 2, 3, 4, 5]
stack.pop(-1)
print(stack)
stack.pop(-1)
print(stack)
num = eval(input())
stack.append(num)
             
print(stack)

自测运行成功,保存提交 在这里插入图片描述


NP30 用列表实现队列

描述 队列是一种先进先出的数据结构,类似食堂排队打饭,先入队的元素当然要先出队,先请用Python列表模拟队列。现有一列表 queue = [1, 2, 3, 4, 5] 被视作队列,请使用pop函数连续两次取出队首元素,再使用append函数将输入元素添加到队尾,每次操作后都要输出完整的列表。

输入描述: 输入一个整数表示要添加到队列的元素。

输出描述: 第一行输出第一次取出队首后的列表; 第二行输出第二次取出队首后的列表; 第三行输出添加元素到队列后的列表。

示例1 输入:8 输出:[2, 3, 4, 5]    [3, 4, 5]    [3, 4, 5, 8]

说明:

第一次弹出队首元素1,第二次弹出队首元素2,第三次加入数字8到队尾

代码:

queue = [1, 2, 3, 4, 5]
queue.pop(0)
print(queue)
queue.pop(0)
print(queue)
num = eval(input())
queue.append(num)
print(queue)

自测运行成功,保存提交 在这里插入图片描述


NP31 团队分组

描述 创建一个列表group_list,其中依次包含字符串 'Tom', 'Allen', 'Jane', 'William', 'Tony' 表示这个小组成员的名字。现有三项任务需要他们去完成,根据不同任务的繁琐度和实际情况需要分别派2人、3人、2人来完成,他们决定通过对列表分片来分配任务。

使用print()语句和切片来打印列表group_list的前两个元素表示去做第一个任务的人的名字,再使用print()语句和切片来打印列表group_list的中间三个元素表示去做第二个任务的人的名字,再使用print()语句和切片来打印列表group_list的后两个元素表示去做第三个任务的人的名字。

输入描述:输出描述:

输出:['Tom', 'Allen']    ['Allen', 'Jane', 'William']    ['William', 'Tony']

代码:

group_list = ['Tom', 'Allen', 'Jane', 'William', 'Tony']
print(group_list[0:2])
print(group_list[1:4])
print(group_list[3:5])

自测运行成功 在这里插入图片描述

保存提交 在这里插入图片描述

推 荐:牛客题霸-经典高频面试题库

🌐 找工作神器-|笔试题库|面试经验|大厂面试题 👉 点击链接进行注册学习 在这里插入图片描述