Так что дайте список, например.Изменение элемента в списке
lines = ['This', 'is', 'a', 'sentence.']
Мне нужно удалить все знаки препинания в начале и конце слова. В этом случае '.' от «предложения».
Это то, что я использую в данный момент:
lines = line.strip().split()
for l in lines:
l = re.sub(r'^[^A-Za-z0-9]*|[^A-Za-z0-9]*$','', l)
words.append(lines)
Я знаю, что регулярное выражение работает (через проверки его с помощью print(l)
в цикле), но когда я распечатать строки (т.е. из цикл), пунктуация все еще существует! Что не так с моим кодом.
Это то, что должно быть добавлено к словам:
lines = ['This', 'is', 'a', 'sentence']
'l' просто указывает на некоторую строку в' lines'. Когда вы пишете 'l = ...', все, что вы делаете, это изменение, на которое указывает 'l', оставляя базовый объект неизменным (строки неизменны в любом случае, поэтому вы не можете их изменить). Вы должны изменить фактический объект списка с помощью 'lines [index] = ...' или создать новый список. – Blender