//题意:题目自定一种对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)
###这里都是些个人学习的理解,理解不对的地方请你指出我们一起进步,谢谢###