В Python мне нужно удалить почти все знаки препинания из списка, но сохранить периоды и запятые. Должен ли я создать функцию для этого или переменную? В основном я хочу удалить все символы, кроме букв (я уже преобразовал заглавные буквы в нижний регистр), а также периоды и запятые (и, возможно, апострофы).Удаление пунктуации/символов из списка с помощью Python за исключением периодов, запятых
#Clean tokens up (remove symbols except ',' and '.')
def depunctuate()
clean_tokens = []
for i in lc_tokens:
if (i not in [a-z.,])
...
Это не только удаляет ненужные символы (знаки препинания), но также и пробельные и не-ASCII-буквы, переворачивая слова типа «наивность» в «неф». – lenz
Да, это разрешает только буквы ASCII и другие символы пунктуации. Это была моя интерпретация требований, но она сильно зависит от того, что имел в виду вопрошающий при использовании слова «буквы». Другой ответ имеет аналогичную проблему; он удаляет вещи в 'string.punctuation', но неясно, охватывает ли это все« символы », которые хотел бы удалить исходный вопросник. – smarx
Вы правы, 'string.punctuation' также не имеет большого количества символов пунктуации, например. причудливые кавычки. Тем не менее, я думаю, что «буквы» и «знаки пунктуации» - довольно четко определенные категории (и на самом деле довольно легко проверить свойства символа Юникода). – lenz