python-简单的数据结构

news2024/9/23 3:30:37

题目描述
小理有一天在网上冲浪的时候发现了一道很有意思的数据结构题。
该数据结构形如长条形。
一开始该容器为空,有以下七种操作。
1 a从前面插入元素 a  ;
2 从前面删除一个元素;
3 a从后面插入一个元素;
4 从后面删除一个元素;
5 将整个容器头尾翻转;
6 输出个数和所有元素;
7 对所有元素进行从小到大排序。
输入格式
只有一组数据,第一行 n,m 代表最大数据数目和操作次数。
接下来每一行一个操作如上描述。保证所有操作合法(不会在容器为空时删除元素)。
6,7 操作共计不会超过 10 次。
输出格式
当执行 6 操作时,第一行先输出当前的个数,然后从头到尾按顺序输出,每两个元素之间用一个空格隔开,末尾不能有空格。
样例输入输出
样例输入
10 9
1 1
3 5
3 4
6
4
5
6
7
6
样例输出
3
1 5 4
2
5 1
2
1 5
数据范围
对于 100% 的数据,保证 1≤n,m,a≤105 。
来源/分类(难度系数:四星
对列 模拟

 


完整代码展示:
n,m=map(int,input().split())
list_1=[]
for i in range(m):
      list_2=list(map(int,input().split()))
      list_1.append(list_2)
list_3=[]
for i in range(0,len(list_1)):
      l=list_1[i]
      if l[0]==1:
           list_3.insert(0,l[1])
      elif l[0]==2:
           list_3.remove(list_3[0])
      elif l[0]==3:
           list_3.append(l[1])
      elif l[0]==4:
           list_3.remove(list_3[-1])
      elif l[0]==5:
           list_3.reverse()
      elif l[0]==6:
           print(len(list_3))
           for j in range(0,len(list_3)-1):
                 print(list_3[j],end=" ")
           print(list_3[-1])
      elif l[0]==7:
           list_3.sort()

n,m=map(int,input().split())
list_1=[]
for i in range(m):
    list_2=list(map(int,input().split()))
    list_1.append(list_2)
list_3=[]
for i in range(0,len(list_1)):
    l=list_1[i]
    if l[0]==1:
        list_3.insert(0,l[1])
    elif l[0]==2:
        list_3.remove(list_3[0])
    elif l[0]==3:
        list_3.append(l[1])
    elif l[0]==4:
        list_3.remove(list_3[-1])
    elif l[0]==5:
        list_3.reverse()
    elif l[0]==6:
        print(len(list_3))
        for j in range(0,len(list_3)-1):
            print(list_3[j],end=" ")
        print(list_3[-1])
    elif l[0]==7:
        list_3.sort()

 

 

代码解释:
“n,m=map(int,input().split()) ”,导入用户的最大数据数目n和操作次数m。
“list_1=[]
 for i in range(m):
       list_2=list(map(int,input().split()))
       list_1.append(list_2)                      ”,建立一个空列表list_1,循环m次:导入用户每次的操作,并将每次操作的数据储存在列表list_2中,接着将list_2添加进list_1中。
“list_3=[]
 for i in range(0,len(list_1)):
       l=list_1[i]
       if l[0]==1:
            list_3.insert(0,l[1])
       elif l[0]==2:
            list_3.remove(list_3[0])
       elif l[0]==3:
            list_3.append(l[1])
       elif l[0]==4:
            list_3.remove(list_3[-1])
       elif l[0]==5:
            list_3.reverse()
       elif l[0]==6:
            print(len(list_3))
            for j in range(0,len(list_3)-1):
                  print(list_3[j],end=" ")
            print(list_3[-1])
       elif l[0]==7:
            list_3.sort()                           ”,建立一个空列表list_3,遍历list_1中元素:按照list_1[i]所包含的数据代表的操作对list_3中数据进行操作。

 

运行效果展示:

d6ba43ee40aa4fdfb07b4996bc06468a.jpg

b12a5eb3ea794b9a8aaff2882e6907b1.jpg 

拓展延伸
列表的操作:素引,添加,删除,替换
1,索引:正索引,负索引。
2,添加:insert(),append(),extend(),索引添加。
3,删除:remove(),del 语句,pop(),filter(),clear(),切片操作,列表推导式。
4,替换:索引替换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2144228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

存储数据的树形结构

目录 1、二叉查找树 2、平衡二叉树AVL Tree 3 、平衡多叉树B-Tree 4、BTree树 5 、红黑树 红黑树的应用 6.平衡树的旋转 mysql 索引数据结构: Btree 索引是B树在数据库中的一种实现,最为常见的。B树 中的B代表平衡,而不是二叉 1、二…

火山引擎数智平台:高性能ChatBI的技术解读和落地实践

导读:大模型能力的发展和成熟,催生出新一代智能化 BI—— ChatBI,即通过自然语言处理(NLP)与大型语言模型(LLMs)的结合,极大简化数据分析过程,提高效率并降低分析门槛。火…

剪画:视频怎么去水印?分享几个简单实用的视频去水印方法!

亲爱的小伙伴们,在视频创作的道路上,水印问题是不是常常让你感到困扰呢? 别担心,今天就来为大家详细介绍七种超实用的视频去水印方法,让你的视频制作更加顺畅。 一、剪画 - 短视频去水印 剪画是一款非常强大的视频处理…

双向NAT=源NAT+NAT Server,有这么6?

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 你们好,我的网工朋友。 随着移动设备的普及和云计算技术的发展,网络流量的规模和复杂度不断增加。网络地址转换&#xff…

像JSON一样使用ProtoBuf,空间还能缩小60%,性能提升100%

首发公众号:【赵侠客】 引言 在前面《释放你九成的带宽和内存:GZIP在解决Redis大Key方面的应用》一文中我使用GZIP算法可以将JSON格式数据的大小缩小88%从而节省了大量的存储和带宽资源,本文介绍另一种JAVA对象序列化神器——ProtoBuf(Proto…

打破服务提供商的数据中心自动化障碍

在通信服务提供商(CSP)不断变革的背景下,数据中心发挥着越来越重要的作用。这些数据中心不仅是部署基于云的5G基础设施的重要组成部分,还在促进边缘计算和下一代企业解决方案的过程中发挥着关键作用。然而,随着数据中心…

YOLOv10改进系列,YOLOv10损失函数更换为Powerful-IoU(2024年最新IOU),助力高效涨点

改进前训练结果: 改进后的结果: 摘要 边界框回归(BBR)是目标检测中的核心任务之一,BBR损失函数显著影响其性能。然而,观察到现有基于IoU的损失函数存在不合理的惩罚因子,导致回归过程中锚框扩展,并显著减缓收敛速度。为了解决这个问题,深入分析了锚框扩展的原因。针…

PyCharm安装和使用教程(Windows系统)

一、pycharm基本使用 说明: PyCharm 是一款功能强大的 Python 编辑器, 本文简单的介绍下PyCharm 在 Windows下是如何安装的。 PyCharm 的下载地址:http://www.jetbrains.com/pycharm/download/#sectionwindows 如果进入网页时间过长或进不…

OpenAI震撼发布o1大模型!RL深度思考,技术差距拉开

openai放大招了,是奥特曼在推上宣传了很久的草莓真身,这次它真的来了。 又给大家带来一点小小的震撼,国内大模型老板们也不再迷茫了,4o的多模态的还没赶上呢,这下怎么又回到纯文本了,不是说大家都搞得差不多…

神经网络通俗理解学习笔记(1)

神经网络通俗理解学习笔记(1) 神经网络原理激活函数前向传播和反向传播多层感知机代码实现加载数据网络结构损失函数优化器训练测试保存 回归问题一元线性回归多元线性回归多项式回归 线性回归代码实现数据生成设置超参数初始化参数可视化Pytorch模型实现…

性能测试的五大目标

性能测试的目的其实是为了验证软件系统是否能够达到用户的性能指标,发现软件系统中存在的性能瓶颈,随后优化软件,最后起到优化系统的目的。 主要有以下几点: 评估系统的能力 测试中得到的负荷和响应时间数据可以被用于验证所计…

AI+智能监控实训平台

基本介绍 中智讯“AI智能监控实训平台” (AI-Monitor)是中智讯公司面向于人工智能等相关专业设计的一款工程实训平台,该产品基于基于行业内主流的TensorFlow深度学习框架来实现,同时,通过机器视觉技术和边缘计算技术实…

【新手上路】衡石分析平台使用手册-系统管理员手册

用户管理​ 用户管理页面可以创建管理用户、对用户进行分组管理、组织架构管理及用户属性的维护和管理。下面详细介绍用户管理相关功能。 用户管理​ 用户管理子页面展示了当前系统中所有用户的信息,可以添加新用户,查看、编辑已有用户,可…

C++设计模式(更新中)

文章目录 1、创建型模式1.1 简单工厂(Simple Factory)(1)示例(2)总结 1.2 工厂方法(Factory Method)(1)示例(2)总结 1.3 抽象工厂&…

【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧

文章目录 Python NumPy学习指南第一部分:NumPy简介与安装1. 什么是NumPy?2. 安装NumPy使用pip安装:使用Anaconda安装: 第二部分:NumPy数组基础1. NumPy数组的创建从列表创建一维数组:创建多维数组&#xff…

发现了一个很神奇很哇塞的做事心态,就2个字

最近发现了一个很神奇很哇塞的做事心态,轻松收获了很多意向不到的结果,其实就两个字,会玩。 大家有没有发现,很多时候越是重要的地方,我们就会越用力,越用力的时候,反而结果却差强人意。越在意我…

IDC 2024未来企业大奖:酷克数据携手中国联通打造湖仓一体平台

9月11日-12日,2024 IDC中国年度峰会暨颁奖典礼于上海圆满召开。全球权威IT市场研究和咨询公司IDC公布了 2024 未来企业大奖的优秀奖名单。中国联通与酷克数据联合申报的《中国联通筑梦数字化转型:自主可控、开放协作的混合受管理湖仓一体平台》项目&…

Hi3516DV500 高清智慧视觉 SoC

1.1 概述 Hi3516DV500 是一颗面向视觉行业推出的高清智能 Soc 。该芯片最高支持 2 路 sensor 输入,支持最高 5M30fps 的 ISP 图像处理能力,支持 2F WDR 、多级降噪、六轴防 抖、多光谱融合等多种传统图像增强和处理算法,支持通…

企语iFair-协同管理系统-任意文件读取

文章目录 免责申明漏洞描述搜索语法漏洞复现yaml修复建议 免责申明 本文章仅供学习与交流,请勿用于非法用途,均由使用者本人负责,文章作者不为此承担任何责任 漏洞描述 企语iFair协同管理系统getuploadimage.jsp接口处存在任意文件读取漏洞…