Для перемещения повторяющихся слов в конец списка и разделения их, вы можете использовать следующий код на языке Python:
```python
def move_duplicates_to_end(lst):
unique_words = []
duplicate_words = []
for word in lst:
if word not in unique_words:
unique_words.append(word)
else:
duplicate_words.append(word)
return unique_words + duplicate_words
# Пример использования
words = ['apple', 'banana', 'orange', 'apple', 'grape', 'banana', 'apple']
new_list = move_duplicates_to_end(words)
print(new_list)
```
Для удаления дубликатов из списка, включая вложенные дубликаты, и вывода каждой группы дубликатов на отдельной строке, вы можете использовать следующий код:
```python
def remove_duplicates(lst):
unique_groups = []
duplicate_groups = []
for word in lst:
if isinstance(word, list):
if word not in unique_groups:
unique_groups.append(word)
else:
duplicate_groups.append(word)
else:
# Если не является списком, добавляем его в отдельную группу
if [word] not in unique_groups:
unique_groups.append([word])
else:
duplicate_groups.append([word])
# Выводим каждую группу дубликатов на отдельной строке
for group in duplicate_groups:
print(' '.join(group))
return unique_groups
# Пример использования
words = ['apple', 'banana', ['orange', 'orange'], ['apple'], 'grape', ['banana', 'banana', 'banana'], 'apple']
new_list = remove_duplicates(words)
```
Надеюсь, это поможет вам!