#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. Спасибо! Разобрался. Я определенно думал, что делаю это слишком сложным.