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

新手上路,请多包涵

希望社区可以向我更好地解释这一点。下面是目标,我试图在给定目标的情况下理解这段代码。

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

示例输入:

 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”的解释。您从用户那里获取原始输入,然后从原始输入中删除空格。删除后,拆分函数将字符串放入列表中。

如果我的原始输入是“insert 0 5”,strip() 不会把它变成“insert05”吗?

原文由 CTLearn 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 543
1 个回答

在 python 中,您在字符串上使用 split(delimiter) 方法以获得基于您指定的分隔符(默认情况下为空格字符)的列表,并且 strip() 方法删除白色字符串结尾和开头的空格

所以一步一步的操作是:

 raw_input()          #' insert 0 5     '
raw_input().strip()  #'insert 0 5'
raw_input().strip().split()  #['insert', '0', '5']

你可以使用 split(';') 例如,如果你想转换由分号 ‘insert;0;5’ 分隔的字符串

原文由 soloidx 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题