有人可以解释为什么我得到列表索引超出范围错误???我不明白为什么,感谢任何帮助。
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)
答案 0 :(得分:0)
您收到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)