• 【NOWCODER】- Python:列表(三)


    【NOWCODER】- Python 刷题

    😁作者:啊Q老师
    🐬人生格言:昨日之深渊,今日之浅谈。路虽远,行则将至。事虽难,做则可成。
    📰个人主页:啊Q老师的博客
    📝系列专栏:【NOWCODER】-Python 刷题
    ✅推荐一款模拟刷题神器👉点击跳转一起刷题🔍

    🔥前言:

    牛客网,有经典的面试题与各种语言的编程题,还有技术与经验的分享,资源全部免费,提供在线编程,帮助我们更好地通过面试与训练逻辑思维,提高我们的编程能力。今天还是继续刷Python列表的题目。点击跳转牛客网一起学习

    在这里插入图片描述

    Exercise 26— 牛牛的反转列表

    描述:
    牛牛有一个列表记录了各个朋友的喜欢的数字,num = [3, 5, 9, 0, 1, 9, 0, 3],请你帮他创建列表,然后使用reverse函数将列表反转输出。
    输入描述:

    输出描述:
    输出反转后的列表。
    难度:
    简单

    #题解,创建num列表,用reverse()函数将列表反转输出。
    #reverse()函数将列表所有元素反向排列。
    num = [3, 5, 9, 0, 1, 9, 0, 3]
    num.reverse()
    print(num)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Exercise 27— 朋友们的喜好

    描述:
    牛牛有一个name = [‘Niumei’, ‘YOLO’, ‘Niu Ke Le’, ‘Mona’] 记录了他最好的朋友们的名字,请创建一个二维列表friends,使用append函数将name添加到friends的第一行。假如Niumei最喜欢吃pizza,最喜欢数字3,YOLO最喜欢吃fish, 最喜欢数字6,Niu Ke Le最喜欢吃potato,最喜欢数字0,Mona最喜欢吃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列表通过append()函数添加到friends列表中,而这样friends就是一个二维list;
    #列表food与列表number同理,最后打印输出friends列表。
    #append()函数用于在列表末尾添加新的对象。
    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Exercise 28— 密码游戏

    描述:
    牛牛和牛妹一起玩密码游戏,牛牛作为发送方会发送一个4位数的整数给牛妹,牛妹接收后将对密码进行破解。
    破解方案如下:
    每位数字都要加上3再除以9的余数代替该位数字,然后将第1位和第3位数字交换,第2位和第4位数字交换。
    请输出牛妹破解后的密码。
    输入描述:
    输入一个四位数的整数。
    输出描述:
    输出破解后的密码,以四位数的形式。
    难度:
    中等

    #题解,遍历input()函数的输入,将其转换成整数类型并且每位数字都要加上3再除以9的余数;
    #然后将第1位和第3位数字交换,第2位和第4位数字交换格式化输出。
    number = [(int(i)+3) % 9 for i in input()]
    print("{}{}{}{}".format(number[2], number[3], number[0], number[1]))
    
    • 1
    • 2
    • 3
    • 4

    Exercise 29— 用列表实现栈

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

    #题解,创建stack列表,再创建输入整数的变量,通过遍历使用两次pop()函数弹出末尾两个元素;
    #再使用append函数将输入元素加入到栈中,每次操作完成后都要输出整个列表。
    stack = [1, 2, 3, 4, 5]
    int = int(input())
    for i in range(2):
        stack.pop()
        print(stack)
    stack.append(int)
    print(stack)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    Exercise 30— 用列表实现队列

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

    #题解,与上同理,区别是pop()函数连续两次取出队首元素。
    #pop()函数默认为pop(-1),即删除最后一个列表值;
    #而pop(0),删除第一个元素。
    queue = [1, 2, 3, 4, 5]
    int = int(input())
    for i in range(2):
        queue.pop(0)
        print(queue)
    queue.append(int)
    print(queue)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    Exercise 31— 团队分组

    描述:
    创建一个列表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,按要求切分;
    #list[start : end : step],start为起始位置,end为截止位置,从0开始;
    #step为步长(即当step=2,相当于每隔空一个元素来获取元素)。
    group_list = ['Tom', 'Allen', 'Jane', 'William', 'Tony']
    print(group_list[0:2:1])
    print(group_list[1:4:1])
    print(group_list[3:5:1])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    结束语

    千里之行,始于足下。Python的学习还是以练习为主,想要学习Python的同学,推荐可以去 牛客网🔍练习,提升自我。

  • 相关阅读:
    初创公司低预算,如何做好品牌宣传?
    R语言方差分析的注意事项
    网鼎杯网络安全大赛玄武组_经典的一道CTF-WriteUP-SSRFME
    php继承(extends)
    Flink容错机制
    二部图问题
    数据降维——因子分析
    聚苯乙烯/聚4-乙烯基吡啶功能微球/CF3-PPFPA-PS聚苯胺/聚苯乙烯微球的制备
    类和对象【下】
    js实现图片加水印
  • 原文地址:https://blog.csdn.net/qq_56886142/article/details/126338757