likes
comments
collection
share

Python刷题之列表续(三)

作者站长头像
站长
· 阅读数 6

  • NP29 用列表实现栈

描述

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

输入描述:

输入要加入栈中的整数。

输出描述:

第一行输出第一次出栈后的列表;

第二行输出第二次出栈后的列表;

第三行输出元素入栈后的列表。

示例1

Python刷题之列表续(三)

代码如下:

stack = [1,2,3,4,5]
for i in range(2):
    stack.pop()
    print(stack)
stack.append(int(input()))
print(stack)
  • NP30 用列表实现队列

描述

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

输入描述:

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

输出描述:

第一行输出第一次取出队首后的列表;

第二行输出第二次取出队首后的列表;

第三行输出添加元素到队列后的列表。

示例1

Python刷题之列表续(三)

代码如下;

queue = [1,2,3,4,5]
for i in range(2):
    queue.pop(0)
    print(queue)
n = int(input())
queue.append(n)
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[:2])  # 不包含括号右边的值
print(group_list[1:4])
print(group_list[3:5])

参考代码

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