🐍
menu_bookИнструкции

Операции со списками в Python

sort(), index(), count(), remove(), pop() и list comprehension

sort1. Сортировка — sort() и sorted()

sort() — изменяет оригинал
nums = [5, 1, 8, 3]
nums.sort()
print(nums)  # [1, 3, 5, 8]
nums.sort(reverse=True)
print(nums)  # [8, 5, 3, 1]
sorted() — создаёт новый список
nums = [5, 1, 8, 3]
new = sorted(nums)
print(nums)  # [5, 1, 8, 3] оригинал
print(new)   # [1, 3, 5, 8] новый

search2. Поиск — index() и count()

Метод Что делает Пример
index(x)Возвращает индекс первого вхождения x[1,3,5].index(3) → 1
count(x)Считает количество вхождений x[1,3,3,5].count(3) → 2
x in lstПроверяет, есть ли x в списке3 in [1,3,5] → True
warning
Осторожно! Если элемент не найден — index() вызовет ошибку. Используйте if x in lst перед вызовом.

delete3. Удаление — remove() и pop()

remove(x) — удаляет по значению
nums = [1, 3, 5, 3]
nums.remove(3)
print(nums) # [1, 5, 3]
# Удалено первое вхождение
pop(i) — удаляет по индексу
nums = [1, 3, 5]
val = nums.pop(1)
print(val) # 3
print(nums) # [1, 5]

flash_on4. List comprehension — списки в одну строку

Мощный инструмент Python — создание нового списка в одну строку на основе существующего:

list_comprehension.py
1
2
3
4
5
6
7
nums = [1, 2, 3, 4, 5, 6]
# Квадраты чисел
squares = [x**2 for x in nums]          # [1,4,9,16,25,36]
# Только чётные
evens = [x for x in nums if x % 2 == 0]  # [2,4,6]
# Квадраты только нечётных
odd_sq = [x**2 for x in nums if x % 2 != 0]  # [1,9,25]
Синтаксис:
[выражение for переменная in список if условие]