python - 由 Python 3 中的 ""[0] 引起的 IndexError
问题描述
s = ''
# case 1
print(s[0])
# case 2
print(s[:1])
print(s[0:1])
在第一种情况下,我得到一个IndexError: string index out of range
,但第二种情况是完全正确的。我很困惑; 他们不应该是一样的吗?在这两种情况下,我们都在字符串中的位置 0 处打印字符。我可以理解错误,毕竟字符串中没有字符,但我希望这两种情况都会给出相同的错误。
谢谢!
解决方案
切片比索引更宽容。如果您的切片索引超出范围,您将获得一个空序列或字符串。如果你索引一个不存在的字符,你会得到一个你发现的错误。
推荐阅读
- python - 图像分割和遮罩
- java - Optaplanner 约束流
- javascript - 我可以使用具有下载属性的锚元素在 Vue.js 中下载 rar 吗?
- java - 如何使用按钮按初始过滤并在 Android Studio 中使用 SQLite 将其显示在另一个活动上
- typescript - 打字稿意外 null | 未定义而不是字符串 | 无效的
- python - 使用 inverse_transform 返回值错误时出错
- ssl - “视觉回归测试”错误:net::ERR_SSL_PROTOCOL_ERROR at
- android - android设备到设备推送通知响应200而不是201
- r - 当最初是字符时,计算数据框中列的平均值
- tableau-api - 如何处理 Tableau 中的此数据提取错误?