У меня есть следующий список:Операции со списками
Words = ['This','is','a','list','and','NM,']
Примечание: Слова [5] >>> Н.М., (с запятой (,))
New_List = []
for word in Words:
if word[:2] =="NM":
Words.insert((Words.index("NM")),input("Input a " + ac_to_word("NM") + ": "))
Words.remove("NM")
Всякий раз, когда я пытаюсь запустить это, я получаю:
Words.insert((Words.index("NM")),input("Input a " + ac_to_word("NM") + ": "))
ValueError: 'NM' is not in list
Но «NM» - это индекс 5. Что здесь происходит? Я прошу слово [: 2] не все слово.
Я попытался выяснить проблему, но никто не был вокруг, чтобы посмотреть на мой код и дать мне обратную связь, поэтому, хотя, возможно, некоторые люди там могут помочь. Если вы видите ошибку, пожалуйста, покажите мне, где. Любая помощь приветствуется!
Не сообщение об ошибке совершенно ясно? Вы пытаетесь получить индекс строки '' NM'' из списка 'Words', но его там нет. '' NM '! =' NM, ''. –
Ну, «NM» нет в списке, чего вы ожидаете? – sashkello
Не изменяйте список во время итерации по нему –