11. Списки
Что такое список
Список — это структура данных, предназначенная для хранения нескольких значений в одной переменной.
Если обычная переменная хранит одно значение:
x = 5
то список хранит набор значений:
numbers = [1, 2, 3, 4, 5]
Список позволяет: - хранить группы данных; - обрабатывать их с помощью циклов; - изменять элементы; - добавлять и удалять значения.
Создание списков
1 Список чисел
numbers = [10, 20, 30, 40]
2 Список строк
names = ["Ivan", "Anna", "Oleg"]
3 Пустой список
items = []
Пустой список часто используется для последующего заполнения.
Типы данных в списке
Список может содержать разные типы данных:
mixed = [10, "Hello", 3.14, True]
Однако на практике чаще используются списки одного типа (например, только числа).
Индексация
Каждый элемент списка имеет номер — индекс.
⚠ Индексация начинается с 0.
numbers = [100, 200, 300]
print(numbers[0]) # 100
print(numbers[1]) # 200
print(numbers[2]) # 300
Отрицательные индексы
Можно обращаться к элементам с конца списка:
numbers = [100, 200, 300]
print(numbers[-1]) # 300
print(numbers[-2]) # 200
Изменение элементов
Список — изменяемый тип данных.
numbers = [10, 20, 30]
numbers[1] = 99
print(numbers)
Результат:
[10, 99, 30]
Длина списка
Для определения количества элементов используется функция len():
numbers = [1, 2, 3, 4]
print(len(numbers))
Основные методы списка
1. append() — добавление элемента в конец
numbers = [1, 2]
numbers.append(3)
2. insert() — вставка по индексу
numbers.insert(1, 50)
3. remove() — удаление по значению
numbers.remove(50)
4. pop() — удаление по индексу
numbers.pop(0)
5. sort() — сортировка
numbers.sort()
6. reverse() — разворот списка
numbers.reverse()
Срезы (части списка)
Срез позволяет получить часть списка.
numbers = [1, 2, 3, 4, 5]
print(numbers[1:4])
Результат:
[2, 3, 4]
Формат:
список[начало:конец]
Перебор списка
1. Перебор значений
numbers = [1, 2, 3]
for num in numbers:
print(num)
2. Перебор по индексам
for i in range(len(numbers)):
print(numbers[i])
Создание списка через ввод
numbers = []
for i in range(3):
num = int(input("Введите число: "))
numbers.append(num)
print(numbers)
Типичные ошибки
- Обращение к несуществующему индексу:
numbers = [1, 2]
print(numbers[5]) # ошибка
- Попытка удалить отсутствующее значение.
- Забытые квадратные скобки.
- Неправильная индексация (забывают, что начинается с 0).
Практическая работа
Задание 1
Создать список из 5 чисел.
Вывести каждый элемент.
Задание 2
Создать список из 5 чисел.
Найти сумму элементов без использования функции sum().
Задание 3
Создать список из 5 чисел.
Найти максимальный элемент без использования max().
Задание 4
Создать список из 10 чисел.
Вывести только чётные числа.
Задание 5
Создать список из 5 чисел.
Отсортировать список и вывести его в обратном порядке.