Для перемещения всех дубликатов в конец списка можно воспользоваться следующим кодом на языке Python:
```python
def move_duplicates_to_end(lst):
unique_elements = []
duplicates = []
for elem in lst:
if elem not in unique_elements:
unique_elements.append(elem)
else:
duplicates.append(elem)
result = unique_elements + duplicates
return result
# Пример использования
my_list = [1, 2, 3, 4, 2, 5, 6, 3, 7, 7, 8]
result = move_duplicates_to_end(my_list)
print(result)
```
В данном примере функция `move_duplicates_to_end` принимает список `lst`, и возвращает новый список, в котором все дубликаты перемещены в конец, а остальные элементы сохраняют свой исходный порядок.
Чтобы удалить дубликаты из списка и сгруппировать их в "мини-списки", добавляя пустую строку перед каждым "мини-списком", можно использовать следующий код:
```python
def group_duplicates(lst):
result = []
duplicates = []
current_group = []
for elem in lst:
if elem not in duplicates:
if current_group:
result.append(current_group)
current_group = []
result.append(elem)
else:
current_group.append(elem)
duplicates.append(elem)
return result
# Пример использования
my_list = [1, 2, 3, 4, 2, 5, 6, 3, 7, 7, 8]
result = group_duplicates(my_list)
print(result)
```
В данном примере функция `group_duplicates` принимает список `lst`, и возвращает новый список, в котором все дубликаты удалены, а каждая группа дубликатов сгруппирована в "мини-список", перед которым добавлена пустая строка.