python - 如何使用 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]))
解决方案
.split(', ')[1]
您在这里停留在split
给您(至少)两个要素的事实上。假设您的输入字符串不包含 a ,
,那么您尝试从仅包含一个元素的列表中获取第二个条目 --> 索引超出范围错误。
在全球范围内您的使用split
是可以的,但您需要通过添加检查或处理错误来确保不会发生此类错误。
编辑
用你的例子:
> inp.split(' ')[1]
'12,'
在这部分你跑
.split(', ')
但是,由于 '12,' 中不存在 ',',因此该字符串不会被拆分,因此您不能获取第二个元素。
推荐阅读
- javascript - 如何在组合图表(条形图和线形图)中分别将 x 轴与条形对齐?
- c - 我可以将 PCINT0 和 PCINT1 用于 atmega328pb 上的所有引脚中断吗?
- macos - 在 mac OS 上以 -m32 模式使用 GCC
- r - R arulesequence - 为 cspade 挖掘准备数据
- heroku - Heroku + MiniMagick + ImageMagick 错误加载库
- terminal - 支持 MC2 的终端仿真器
- angular - Angular:ExpressionChangedAfterItHasBeenCheckedError 子组件和 FormControl
- visual-studio - 从 VS 模板 $safeprojectname$ 中删除点
- ios - NSUrlSession 仅第一次更新 UI 控件
- excel - Excel 中宏的内存问题:如何解决此问题?