Как сделать список уникальным в Python
Python
Senior
Без компании
Как сделать список уникальным в Python
Ответы
Для создания уникального списка можно использовать несколько подходов:
- **Через преобразование в set и обратно** (порядок не сохраняется):
```
original = [1, 2, 2, 3, 4, 4]
unique = list(set(original))
```
- **С сохранением порядка** (Python 3.7+):
```
from collections import OrderedDict
unique = list(OrderedDict.fromkeys(original))
```
- **Через list comprehension** (сохраняет порядок):
```
unique = []
[unique.append(x) for x in original if x not in unique]
```
- **Используя dict.fromkeys()** (Python 3.6+ сохраняет порядок):
```
unique = list(dict.fromkeys(original))
```
Для большинства случаев лучший вариант - `dict.fromkeys()`, так как он:
- Сохраняет порядок элементов
- Эффективен по времени O(n)
- Лаконичный синтаксис