file = open('C:\Users\86147\express.txt', encoding="utf8") a = [] contents = file.readlines() contents = contents[1:-1] for liu in contents: liu = liu.strip('\n\t') liu = liu.rstrip(',') a.append(liu) file.close() b = [] for i in range(0, 460): item = a[i] if ',' in item: c = item.index(',') c = c + 3 elif '省' in item: d = item.index('省') d = d + 1 elif '市' in item: d = item.index('市') d = d + 1 elif '区' in item: d = item.index('区') d = d + 1 b.append(item[d:]) print(b)进行IndexError: list index out of range改正
时间: 2024-03-23 17:40:39 浏览: 65
python: line=f.readlines()消除line中\n的方法
出现 IndexError: list index out of range 的原因可能是因为在某些字符串中没有找到想要的字符,导致索引超出了列表的范围。为了修复这个错误,你可以在使用索引之前先检查一下该字符串中是否包含了你想要的字符。你可以使用 `if...in` 语句来检查。以下是修复后的代码:
```
file = open('C:\Users\86147\express.txt', encoding="utf8")
a = []
contents = file.readlines()
contents = contents[1:-1]
for liu in contents:
liu = liu.strip('\n\t')
liu = liu.rstrip(',')
a.append(liu)
file.close()
b = []
for i in range(0, 460):
item = a[i]
if ',' in item:
c = item.index(',')
c = c + 3
b.append(item[c:])
elif '省' in item:
d = item.index('省')
d = d + 1
b.append(item[d:])
elif '市' in item:
d = item.index('市')
d = d + 1
b.append(item[d:])
elif '区' in item:
d = item.index('区')
d = d + 1
b.append(item[d:])
else:
b.append('')
print(b)
```
在这个修复后的代码中,我们添加了一个 `else` 语句,用于处理字符串中没有找到想要的字符的情况。如果字符串中没有找到想要的字符,我们将向 `b` 列表中添加一个空字符串。这样就可以避免出现 IndexError: list index out of range 的错误了。
阅读全文