Извините, если это было задано раньше. Я пытаюсь удалить пунктуацию из строки. Я знаю, как это сделать, но я не понимаю разницы между maketrans и заменой в Python. Более конкретно, почему сценарий сценария 1 ниже удаляет всю пунктуацию из входящих строк, но сценарий 2 не работает?В чем разница между maketrans и заменой в Python?
СЦЕНАРИЙ 1
def average(x):
table = x.maketrans('.,?!:','$$$$$')
x = x.translate(table)
x = x.replace('$', '')
lst1 = x.split()
lst2 = []
for i in lst1:
length = len(i)
lst2.append(len(i))
average = sum(lst2)/len(lst2)
return average
str1 = input("Enter a sentence:")
print('The average amount of chars in that sentence is: ', average(str1))
СЦЕНАРИЙ 2
def average(x):
x = x.replace('.,?!:','')
lst1 = x.split()
lst2 = []
for i in lst1:
length = len(i)
lst2.append(len(i))
average = sum(lst2)/len(lst2)
return average
str1 = input("Enter a sentence:")
print('The average amount of chars in that sentence is: ', average(str1))
Спасибо! Теперь я понимаю. –