Перейти к содержанию

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)

Типичные ошибки

  1. Обращение к несуществующему индексу:
numbers = [1, 2]
print(numbers[5])  # ошибка
  1. Попытка удалить отсутствующее значение.
  2. Забытые квадратные скобки.
  3. Неправильная индексация (забывают, что начинается с 0).

Практическая работа

Задание 1

Создать список из 5 чисел.
Вывести каждый элемент.


Задание 2

Создать список из 5 чисел.
Найти сумму элементов без использования функции sum().


Задание 3

Создать список из 5 чисел.
Найти максимальный элемент без использования max().


Задание 4

Создать список из 10 чисел.
Вывести только чётные числа.


Задание 5

Создать список из 5 чисел.
Отсортировать список и вывести его в обратном порядке.