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原理总结
- 下一篇: HackerRank数据库题目练习(2)