希望社区可以更好地向我解释这一点。以下是目标,我试图理解这个代码给出目标。
目标:初始化列表并读入值后跟命令行,其中每个命令将是上面列出的类型。按顺序遍历每个命令并在列表上执行相应的操作。
示例输入:
12
insert 0 5
insert 1 10
etc.
示例输出:
[5, 10]
etc.
第一行包含一个整数n,表示命令的数量。 后续行的每一行都包含上述命令之一。
代码:
n = int(raw_input().strip())
List = []
for number in range(n):
args = raw_input().strip().split(" ")
if args[0] == "append":
List.append(int(args[1]))
elif args[0] == "insert":
List.insert(int(args[1]), int(args[2]))
所以这是我对变量“args”的解释。您从用户获取原始输入,然后从原始输入中删除空格。删除后,split函数会将字符串放入列表中。
如果我的原始输入是“插入0 5”,那么不会剥离()将其转换为“insert05”吗?
答案 0 :(得分:9)
在python中,对字符串使用split(delimiter)
方法,以便根据您指定的分隔符获取列表(默认情况下为空格字符),strip()
方法删除空格在字符串的结尾和开头
所以一步一步的操作是:
raw_input() #' insert 0 5 '
raw_input().strip() #'insert 0 5'
raw_input().strip().split() #['insert', '0', '5']
如果要转换以分号分隔的字符串,可以使用split(';')
示例&n;插入; 0; 5'
答案 1 :(得分:1)
举个例子,你采用原始输入
string=' I am a coder '
当你以字符串的形式输入时,起初,strip() 消耗输入,即 string.strip() 使它
string='I am a coder'
因为删除了前端和末尾的空格。 现在, split() 用于将剥离的字符串拆分为列表 即
string=['I', 'am', 'a', 'coder']
答案 2 :(得分:0)
不,那将是.remove(" ")
,.strip()
只是在字符串的开头和结尾摆脱空格。