Ошибка при выполнении кода

Написал код, который должен переделывать строку "Я есть Грут. Ты нет." в "Грут есть я. Нет ты."

sentance = input().split('.')

first = []
second =[]

for word in sentance[0].split():
    word = word.strip('.')
    first.append(word)
    
for word in sentance[1].split():
    word = word.strip('.')
    second.append(word)

first = first.reverse()
second = second.reverse()

for i in first, second:
    i[-1] = i[-1] + '.'
    i[0] = i[0].title()    

print(*first, *second)

При выполнении выдает ошибку:

Traceback (most recent call last):
  File "test.py", line 18, in <module>
    i[-1] = i[-1] + '.'
TypeError: 'NoneType' object is not subscriptable

Как это исправить?


Ответы (2 шт):

Автор решения: Сергей

Замените метод reverse на функцию reversed (и тогда всё работает так, как вы хотите):

first = list(reversed(first))
second = list(reversed(second))

В описании метода сказано, что он ничего не возвращает. А функция - возвращает. На это и ошибка указывала - NoneType часто в таких случаях получаем.

→ Ссылка
Автор решения: kazantip
sentance = input().split('.')

first = []
second = []

for word in sentance[0].split():
    word = word.strip('.')
    first.append(word)
    
for word in sentance[1].split():
    word = word.strip('.')
    second.append(word)

first.reverse()
second.reverse()

for i in first, second:
    i[-1] = i[-1] + '.'
    i[0] = i[0].title()    

print(*first, *second)

Так возможно заработает

→ Ссылка