Методы списков: анализ, изменение, добавление, удаление
less_14__list_methods_and_functions/theory_01__list_methods.md
Сводная таблица всех методов списка, сгруппированных по назначению — анализ содержимого (count, index), изменение на месте (reverse, sort), добавление (append, extend, insert) и удаление (remove, pop, clear). Для каждого метода указано, что он возвращает и какое исключение бросает при ошибке, а примеры отдельно подчёркивают ловушки: append([4,5]) кладёт список одним элементом, а .sort() возвращает None — new = lst.sort() всегда даёт None.
- count(x) и index(x, start, stop) — поиск и подсчёт
- reverse() и sort(key=None, reverse=False) — мутация на месте
- append(x) vs extend(iterable) — один элемент против распаковки
- insert(i, x) — вставка перед позицией, включая i > len(lst)
- remove(x) и pop(i=-1) — разница в возвращаемом значении
- clear() — полная очистка списка
Показать начало файла (177 строк всего)
Вот удобная таблица только **методов списков Python** (без встроенных функций и операторов), сгруппированных по назначению:
| Категория | Методы | Краткое описание |
|-------------------------------------------------------------------------| ----------------------------------- |-----------------------------------------------------------------------------------|
| [**Анализ содержимого**](#анализ-содержимого) | `count(x)` | Возвращает количество вхождений <br> элемента `x` в список. |
| | `index(x, start=0, stop=len(list))` | Возвращает индекс первого вхождения <br> элемента `x` (ошибка, если нет). |
| [**Изменение элементов**](#изменение-элементов) | `reverse()` | Разворачивает список на месте. |
| | `sort(key=None, reverse=False)` | Сортирует список на месте. |
| [**Добавление новых элементов**](#добавление-новых-элементов) | `append(x)` | Добавляет элемент `x` в конец списка. |
| | `extend(iterable)` | Расширяет список элементами из `iterable`. |
| | `insert(i, x)` | Вставляет элемент `x` на позицию `i`. |
| [**Удаление существующих элементов**](#удаление-существующих-элементов) | `remove(x)` | Удаляет первое вхождение элемента `x`. |
| | `pop(i=-1)` | Удаляет элемент по индексу `i` <br> (по умолчанию — `i=-1`) и возвращает его. |
| | `clear()` | Очищает список полностью. |
## Анализ содержимого
### `count(x)`
* Подсчитывает количество вхождений `x` в список.
* Возвращает `int` (0, если нет вхождений).
```python
lst = [1, 2, 2, 3, 2]
print(lst.count(2)) # 3
print(lst.count(5)) # 0
```
### `index(x[, start=0[, stop=len(lst)]])`
* Возвращает индекс *первого* вхождения `x` в диапазоне `[start:stop]`.
* Возвращает `int` — индекс.
* Исключение `ValueError`, если `x` не найден.
```python
lst = ['a', 'b', 'c', 'b']
print(lst.index('b')) # 1
print(lst.index('b', 2)) # 3
# если не найдено — ValueError
# lst.index('z') -> ValueError: 'z' is not in list
```
## Изменение элементов
### `reverse()`
* Разворачивает порядок элементов *на месте* (in-place).
* Возвращает `None` (типично для методов, которые мутируют список).
```python
lst = [1, 2, 3]
res = lst.reverse()
print(lst) # [3, 2, 1]
print(res) # None
```
### `sort(key=None, reverse=False)`
* Сортирует элементы *на месте* согласно ключу `key` и направлению `reverse`.
* `key` — функция, принимающая элемент и возвращающая значение для сравнения.
…