Python 中的 IndexError: string index out of range 错误
IndexError: string index out of range 是 Python 中常见的错误,表示你尝试访问字符串中不存在的索引位置。
错误原因
这个错误通常发生在以下情况:
尝试访问的索引超出了字符串的长度范围
字符串为空但尝试访问其第一个字符
循环中的索引计算错误
示例
s = "hello"
print(s[10])  # 错误:字符串只有5个字符,索引范围是0-4

empty = ""
print(empty[0])  # 错误:空字符串没有索引0
解决方法
检查字符串长度:
s = "hello"
if len(s) > 10:
    print(s[10])
else:
    print("索引超出范围")
使用 try-except 捕获错误:
try:
    print(s[10])
except IndexError:
    print("无效的索引位置")
确保循环范围正确:
s = "hello"
for i in range(len(s)):  # 正确:i从0到4
    print(s[i])
处理空字符串情况:
s = ""
if s:  # 检查字符串是否非空
    print(s[0])
常见场景
读取文件时假设文件非空但实际为空
处理用户输入时未验证输入长度
字符串切片操作时计算错误结束索引
记住 Python 字符串索引从0开始,最后一个字符的索引是 len(string) - 1。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐