Python刷题之列表续(三)
- NP29 用列表实现栈
描述
栈是一种先进后出的数据结构,类似我们生活中挤电梯,最后进入的肯定是先出来,现我们用Python的列表来模拟栈。假设初始的列表为 stack = [1, 2, 3, 4, 5],请将其视作栈,使用pop函数弹出末尾两个元素,再使用append函数将输入元素加入到栈中,每次操作完成后都要输出整个列表。
输入描述:
输入要加入栈中的整数。
输出描述:
第一行输出第一次出栈后的列表;
第二行输出第二次出栈后的列表;
第三行输出元素入栈后的列表。
示例1
代码如下:
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
代码如下;
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)])
转载自:https://juejin.cn/post/7130810772187250702