HackerRank Lists
生活随笔
收集整理的这篇文章主要介绍了
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的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: EUREKA原理总结
- 下一篇: CF617E XOR and Favor