欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

HackerRank Lists

发布时间:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。