首页 > 解决方案 > 如何使用 var.split

问题描述

if inp.startswith("add "):
    print(((inp.split('d ')[1]).split(', ')[0]) + ((inp.split(' ')[1]).split(', ')[1]))

我收到列表索引超出范围的错误消息我该怎么办

复制错误的代码:

inp = "add 12, 12"
if inp.startswith("add "):
   print(((inp.split('d ')[1]).split(', ')[0]) + ((inp.split(' ')[1]).split(', ')[1]))

标签: pythonsplit

解决方案


.split(', ')[1]

您在这里停留在split给您(至少)两个要素的事实上。假设您的输入字符串不包含 a ,,那么您尝试从仅包含一个元素的列表中获取第二个条目 --> 索引超出范围错误。

在全球范围内您的使用split是可以的,但您需要通过添加检查或处理错误来确保不会发生此类错误。

编辑

用你的例子:

> inp.split(' ')[1]
'12,'

在这部分你跑

.split(', ')

但是,由于 '12,' 中不存在 ',',因此该字符串不会被拆分,因此您不能获取第二个元素。


推荐阅读