HackerRank Lists
//题意:题目自定一种对list操作的简单方法,每次告诉你一个操作,以及一些操作规则,按照操作规则完成即可
//思路:按照最简单思路,将所有操作枚举出来,当然还有一种用eval的方法这种很简便,见代码(还是按照c++思路写的,没有switch,就只能用if了):
# python3
if __name__ == '__main__':N = int(input())lst = []ans = []for _ in range(N):ans = input().split()if ans[0] == 'insert':lst.insert(int(ans[1]), int(ans[2])) #一定注意这些操作数都是int型的数elif ans[0] == 'print':print(lst)elif ans[0] == 'remove':lst.remove(int(ans[1])) #一定注意这些操作数都是int型的数elif ans[0] == 'append':lst.append(int(ans[1])) #一定注意这些操作数都是int型的数elif ans[0] == 'sort':lst.sort()elif ans[0] == 'reverse':lst.reverse()elif ans[0] == 'pop':lst.pop()
下面这种非常简单的代码,python风格的,这里主要是一个join函数按照‘,’的连接方式将例如:insert 0 5,将0和5分别按照','连接方式连接起来并用字符串拼接方式组成基本语句,用eval函数执行,注意eval的执行格式,非常简洁:
# python 3
n = int(input())
l = []
for _ in range(n):s = input().split()cmd = s[0]args = s[1:]if cmd !="print":cmd += "("+ ",".join(args) +")" #这里主要通过逗号连接,若有两个参数用逗号连接,1个参数不会连接的,然后组成字符串用eval执行eval('l.'+cmd)else:print(l)
###这里都是些个人学习的理解,理解不对的地方请你指出我们一起进步,谢谢###
HackerRank Lists相关推荐
- HackerRank Nested Lists
//题意:给你n组数据,每组数据是一个人名对应一个分数,要求输出第二小分数的所有人名,人名不唯一 //思路:很简单选出第二小的分数,根据字典的键值对items迭代,输出,但是输出记得排序,人名按照字典 ...
- lists,tuples and sets of Python
(python2.7.x) Lists 列表 列表是一个有序序列(集合),可变的(可以修改),可以理解为其他语言中的数组类型,但是列表更灵活更强大. 列表由方括号[]来定义的,它的元素可以是任意类型或 ...
- LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)
LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...
- insert 语句的选择列表包含的项多于插入列表中的项_如何定义和使用Python列表(Lists)
Python中最简单的数据集合是一个列表(list).列表是方括号内用逗号分隔的任何数据项列表.通常,就像使用变量一样,使用=符号为Python列表分配名称. 如果列表中包含数字,则不要在其周围使用引 ...
- 解决kalilinux: E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/
出现下面报错: root@kali:~# apt-get update 正在读取软件包列表... 完成 E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂 ...
- LeetCode 21. Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- Sicily 7974. Integer Lists 解题报告
题目: Constraints Time Limit: 1 secs, Memory Limit: 256 MB Description The programming language Better ...
- linux更新出现Could not get lock /var/lib/apt/lists/lock问题解决方法
首先输入命令:sudo rm /var/lib/apt/lists/* -vf 执行完成后,再输入命令:sudo apt-get update就可以更新了
- Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel)
Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel) 目录 Python中将三个列表数据zip起来并遍历(Iteratin ...
- Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel)
Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel) 目录 Python中将两个列表数据zip起来并遍历(Iterating ...
最新文章
- centos7下NFS服务器的搭建与配置
- 【Python】函数外定义变量并在函数内进行更新
- 计算机组成原理 外部设备分为,2017考研计算机组成原理第七章考点:外部设备...
- 解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
- 视频语音识别_视频语音识别体验_视频语音识别试用 - 云+社区 - 腾讯云
- java -jar命令
- Android 如何直播RTMP流
- Java类型转换简单运用
- python多进程协同_简单谈谈python中的多进程
- 倪海厦天纪笔记16_倪海厦-天纪16
- 设置TreeViewer的前景色和背景色
- 数据库04—约束条件
- MySQL笔记---DQL语言
- 51nod:1079 中国剩余定理(数学)
- MTK介绍MTK平台介绍
- 实验名称: 类的构造函数、析构函数和友员成员应用
- 【延期通知】Elastic 中国开发者大会 2021 举办日期延期至3月5日
- 最简单的太阳能光伏发电系统
- 转载一篇知乎上的文章:抖音是如何毁掉我们的?(深度好文)
- HTML select option 详解
热门文章
- hd获取硬盘序列号_获取硬盘序列号
- qss设置平面按钮_QToolButton设置QSS
- 下载站mime属性设置(让文件可下载)
- linux锐捷代码_告诉你Ubuntu Linux锐捷安装方法及命令
- 股票软件开发搭建:准备与过程
- 试验设计第二版茆诗松课后题答案_茆诗松数理统计学答案
- 魔兽世界服务器卡顿原理,魔兽世界9.0卡顿解决办法
- Maya中AO贴图的一些烘焙心得
- VB.NET Crystal Reports 水晶报表 自定义工具栏
- python爬取网页原理_网页基本构成和抓取原理