有人可以解释为什么我得到列表索引超出范围错误???我不明白为什么,任何帮助表示赞赏。
original_alphabet = "abcdefghijklmnopqrstuvwxyz"
original_alphabet_list = []
for char in original_alphabet:
original_alphabet_list.append(char)
keyword_list = []
for char in keyword:
keyword_list.append(char)
for value in keyword_list:
for index in range(26):
if value == original_alphabet_list[index]:
original_alphabet_list.pop(index)
您收到list index out of range
错误是因为您从正在迭代的同一列表中删除了一个元素:
original_alphabet_list.pop(index)
这类似于砍掉你坐在角落里的那棵树的同一根树枝!自然的结果是你会掉下来。
当您删除一个元素时, original_alphabet_list 中的索引会重新排列,因此在原始列表中找不到索引的错误。为了将来参考,每当您想遍历数组或字典时,请通过在迭代中将其切片来制作副本,如下所示:
for value in keyword_list[:]:
for index in range(26):
if value == original_alphabet_list[index]: original_alphabet_list.pop(index)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句