//题意:题目自定一种对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相关推荐

  1. HackerRank Nested Lists

    //题意:给你n组数据,每组数据是一个人名对应一个分数,要求输出第二小分数的所有人名,人名不唯一 //思路:很简单选出第二小的分数,根据字典的键值对items迭代,输出,但是输出记得排序,人名按照字典 ...

  2. lists,tuples and sets of Python

    (python2.7.x) Lists 列表 列表是一个有序序列(集合),可变的(可以修改),可以理解为其他语言中的数组类型,但是列表更灵活更强大. 列表由方括号[]来定义的,它的元素可以是任意类型或 ...

  3. LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)

    LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...

  4. insert 语句的选择列表包含的项多于插入列表中的项_如何定义和使用Python列表(Lists)

    Python中最简单的数据集合是一个列表(list).列表是方括号内用逗号分隔的任何数据项列表.通常,就像使用变量一样,使用=符号为Python列表分配名称. 如果列表中包含数字,则不要在其周围使用引 ...

  5. 解决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: 资源暂 ...

  6. 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 ...

  7. Sicily 7974. Integer Lists 解题报告

    题目: Constraints Time Limit: 1 secs, Memory Limit: 256 MB Description The programming language Better ...

  8. linux更新出现Could not get lock /var/lib/apt/lists/lock问题解决方法

    首先输入命令:sudo rm /var/lib/apt/lists/* -vf 执行完成后,再输入命令:sudo apt-get update就可以更新了

  9. Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel)

    Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel) 目录 Python中将三个列表数据zip起来并遍历(Iteratin ...

  10. Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel)

    Python中将两个列表数据zip起来并遍历(Iterating through two lists in parallel) 目录 Python中将两个列表数据zip起来并遍历(Iterating ...

最新文章

  1. centos7下NFS服务器的搭建与配置
  2. 【Python】函数外定义变量并在函数内进行更新
  3. 计算机组成原理 外部设备分为,2017考研计算机组成原理第七章考点:外部设备...
  4. 解决nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
  5. 视频语音识别_视频语音识别体验_视频语音识别试用 - 云+社区 - 腾讯云
  6. java -jar命令
  7. Android 如何直播RTMP流
  8. Java类型转换简单运用
  9. python多进程协同_简单谈谈python中的多进程
  10. 倪海厦天纪笔记16_倪海厦-天纪16
  11. 设置TreeViewer的前景色和背景色
  12. 数据库04—约束条件
  13. MySQL笔记---DQL语言
  14. 51nod:1079 中国剩余定理(数学)
  15. MTK介绍MTK平台介绍
  16. 实验名称: 类的构造函数、析构函数和友员成员应用
  17. 【延期通知】Elastic 中国开发者大会 2021 举办日期延期至3月5日
  18. 最简单的太阳能光伏发电系统
  19. 转载一篇知乎上的文章:抖音是如何毁掉我们的?(深度好文)
  20. HTML select option 详解

热门文章

  1. hd获取硬盘序列号_获取硬盘序列号
  2. qss设置平面按钮_QToolButton设置QSS
  3. 下载站mime属性设置(让文件可下载)
  4. linux锐捷代码_告诉你Ubuntu Linux锐捷安装方法及命令
  5. 股票软件开发搭建:准备与过程
  6. 试验设计第二版茆诗松课后题答案_茆诗松数理统计学答案
  7. 魔兽世界服务器卡顿原理,魔兽世界9.0卡顿解决办法
  8. Maya中AO贴图的一些烘焙心得
  9. VB.NET Crystal Reports 水晶报表 自定义工具栏
  10. python爬取网页原理_网页基本构成和抓取原理