首页 > 解决方案 > 我不明白为什么我收到错误“IndexError:字符串索引超出范围”

问题描述

输入:

AEList =[]
    cc = infile.readline().strip()
    while cc != 'EXIT':
        if cc[0] == '3':
            name = 'A'
            AEList.append(cc)
        cc = infile.readline().strip()

输出:

Traceback (most recent call last):
  File "/Users/alexleblanc/Documents/pa8.py", line 81, in <module>
    main()
  File "/Users/alexleblanc/Documents/pa8.py", line 47, in main
    if cc[3] == '3' :
IndexError: string index out of range

标签: python

解决方案


一种解决方案是在检查特定值之前检查您的字符串/数组是否为空:

if cc and cc[0] == '3'

或者

if len(cc) > 0 and cc[0] == '3'

请记住,如果您尝试访问不存在的索引处的值,您将遇到此错误。


推荐阅读