Python 中的 HackerRank 问题 - 基本数据类型列表

WBOY
发布: 2024-09-04 14:31:10
原创
1011 人浏览过

Problema HackerRank em Python - Base Data Types Lists

此 Python 代码旨在根据用户提供的命令对列表执行一系列操作。让我们一步步分析代码来了解它是如何工作的:

if __name__ == '__main__':
    N = int(input())
    l = []
    while(N>0):
        cmd_l = input().split()
        if(len(cmd_l) == 3 and cmd_l[0] == "insert"):
            #insert statement
            l.insert(int(cmd_l[1]),int(cmd_l[2]))
        elif(len(cmd_l) == 2 and (cmd_l[0] == "remove" or cmd_l[0] == "append")):
            if(cmd_l[0] == "remove"):
                l.remove(int(cmd_l[1]))
            elif(cmd_l[0] == "append"):
                l.append(int(cmd_l[1]))
        elif(len(cmd_l) == 1):
            if(cmd_l[0] == "sort"):
                l.sort()
            elif(cmd_l[0] == "reverse"):
                l.reverse()
            elif(cmd_l[0] == "pop"):
                l.pop()                
            elif(cmd_l[0] == "print"):
                print(l)
        N -= 1
登录后复制

如果 __name__ == '__main__':

  • 此行检查脚本是否正在直接执行。所采取的做法是确保仅当该文件是程序的入口点时才会执行该块中的代码。

N = int(input())

  • 程序期望用户输入一个整数,该整数存储在变量 N 中。这个数字表示用户将执行多少次操作。

l = []

  • 用于在执行操作时存储元素的空列表。

同时(N>0):

  • 启动 while 循环,只要 N 大于 0,该循环就会继续运行。这意味着该循环将执行 N 次,用户想要执行的每个操作都会执行一次。

cmd_l = input().split()

  • 在循环内,程序等待用户输入一行文本,该文本使用 split() 方法分为字符串列表 (cmd_l)。 cmd_l 列表中的每个元素代表要执行的操作的一部分。

if(len(cmd_l) == 3 且 cmd_l[0] == "插入"):

  • 此行检查操作是否是由三部分组成的“插入”命令(cmd_l 长度必须为 3,并且第一个元素必须为“插入”)。

l.insert(int(cmd_l[1]),int(cmd_l[2]))

  • 如果上述条件成立,则调用列表 l 的 insert 方法。参数从字符串转换为整数:cmd_l[1] 是要插入元素的位置,cmd_l[2] 是要插入的元素。

elif(len(cmd_l) == 2 and (cmd_l[0] == "删除" 或 cmd_l[0] == "追加")):

  • 此行检查操作是否是由两部分组成的“删除”或“追加”命令 cmd_l 的长度必须为 2,并且第一个元素必须是“删除”或“追加”。

if(cmd_l[0] == "删除"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "追加"):
l.append(int(cmd_l[1]))

  • 根据命令(删除或追加),调用列表 l 中的相应方法。对于删除,cmd_l 元素(转换为整数)将从列表中删除。对于追加,元素 cmd_l[[1](转换为整数)被添加到列表的末尾。

elif(len(cmd_l) == 1):

  • 检查操作是否是单部分命令(cmd_l 的长度必须为 1)。

if(cmd_l[0] == "排序"):
l.sort()
elif(cmd_l[0] == "反向"):
l.reverse()
elif(cmd_l[0] == "pop"):
l.pop()
elif(cmd_l[0] == "print"):
打印(l)

  • 根据命令(排序、反转、弹出或打印),调用列表 l 中的相应方法。 sort 对列表进行排序,reverse 反转元素的顺序,pop 删除最后一个元素,print 打印列表。

N -= 1

  • 循环结束时,N减1,表示执行了一次操作。这一直持续到 N 为 0,此时循环结束。

以上是Python 中的 HackerRank 问题 - 基本数据类型列表的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!