Как удалить символ из строки в списке PYTHON

#python #list

#python #Список

Вопрос:

В настоящее время у меня есть следующий код, но я изо всех сил пытаюсь найти код, который удалит знаки препинания из строк в списке. Пожалуйста, дайте мне знать, если вы знаете, что я должен ввести.

 """
This function checks to see if the last character is either punctuation or a
"n" character and removes these unwanted characters.

Question: 1
"""

import string
result = string.punctuation

def myFun(listA):
    A = listA
    for element in A:
        for i in element:
            if i in result:
                #what do i put here
        print(A)
myFun(['stramp;', 'cat', 'dogn', 'myStr.'])
  

Комментарии:

1. Код выглядит неправильно отформатированным, чтобы исправить это, нажмите опцию редактирования, а затем вы можете выделить текст, который является вашим кодом, и нажать ctrl-k.

Ответ №1:

В Python строка — это в основном список символов, поэтому вы можете получить доступ к последнему символу с помощью str[-1] , или, если вы хотите проверить n , str[-2:]

Теперь вы можете выполнить простую проверку str[-1] сначала с помощью,

if str[-1] in string.punctuation

и удалите его с помощью str = str[:-1]

и str[-2:] с помощью:

if str[-2:] == "n"

и удалите его с помощью str = str[:-2]

Примечания: После выполнения каждой проверки не забудьте добавить continue итерацию для следующего цикла, иначе она будет удалена из регистра str twice for, который заканчивается на оба n , и знак препинания, такой как «test n», станет «test»

p.s. Я намеренно не вставил их в ваш код и оставил эту часть для вас.

Комментарии:

1. Спасибо! Разобрался. Я определенно думал, что делаю это слишком сложным.