Python中的raw_input()。strip()。split()如何在此代码中工作?

时间:2016-11-14 21:25:16

标签: python split strip

希望社区可以更好地向我解释这一点。以下是目标,我试图理解这个代码给出目标。

目标:初始化列表并读入值后跟命令行,其中每个命令将是上面列出的类型。按顺序遍历每个命令并在列表上执行相应的操作。

示例输入:

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”吗?

3 个答案:

答案 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()只是在字符串的开头和结尾摆脱空格。