HackerRank Lists

本文介绍了一种使用Python进行列表操作的方法,包括插入、打印、移除等操作,并提供了两种实现方式:一种是直接使用列表方法,另一种是通过字符串拼接与eval函数执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值