Я не уверен, почему этот код не работает. Я пытаюсь перебрать копию списка слов и заменить слова другим заданным словом. Вместо этого я получаю недопустимые синтаксические ошибки. Теперь я понимаю (от чтения других сообщений здесь), что изменение списков при итерации - это плохая практика, поэтому я создал копию, используя [:]
. Вот код, у меня есть:Python: замена слов во время итерации
def change(z): words = z.split() for i in words[:]: if 'because' in i: words.replace(i, 'as') print(words) change(input("Line: "))
И ошибка:
Traceback (most recent call last): File "C:/Users/Jarrod/Desktop/py/NCSS2016Adv/kindleNook.py", line 9, in <module> change(input("Line: ")) File "<string>", line 1 is as ^ SyntaxError: invalid syntax
Любые ключи к разгадке, почему мой синтаксис неправильно было бы весьма признателен.
Ваш отступ выключен ... Отступы все ниже 'def'. Кроме того, в следующий раз опубликуйте сообщение об ошибке с полной трассировкой. – Selcuk
Жаль, что я довольно новичок в этом. Я исправлю это :) – adep7
@Lafexlos Вопрос о синтаксических ошибках. Тем не менее это показывает очень минимальное понимание. –