Найти в Дзене
КУЗИНОБИТ

Урок 6: Списки в Python.

Добро пожаловать на шестой урок нашего курса по программированию на Python! Сегодня мы подробно изучим списки в Python. Списки являются одним из наиболее важных и часто используемых типов данных в Python, позволяя хранить и обрабатывать коллекции элементов. В данную статью добавлены ссылки на github в каждом примере. Так же общая ссылка на github для данного урока: Список в Python — это изменяемая последовательность элементов, которая может содержать элементы разных типов. Элементы списка упорядочены и доступны по индексам. Списки создаются с помощью квадратных скобок [], в которые помещаются элементы, разделенные запятыми. empty_list = [] # Пустой список numbers = [1, 2, 3, 4, 5] fruits = ["яблоко", "банан", "вишня"] mixed = [1, "два", 3.0, True] Элементы списка доступны по индексу. Индексы начинаются с 0. # Индексы fruits = ["яблоко", "банан", "вишня"] print(fruits[0]) # "яблоко" print(fruits[1]) # "банан" print(fruits[2]) # "вишня" print() Отрицательные индексы позволяют обращат
Оглавление

Добро пожаловать на шестой урок нашего курса по программированию на Python! Сегодня мы подробно изучим списки в Python. Списки являются одним из наиболее важных и часто используемых типов данных в Python, позволяя хранить и обрабатывать коллекции элементов.

В данную статью добавлены ссылки на github в каждом примере. Так же общая ссылка на github для данного урока:
python_course/lesson_6 at main · kuzinobit/python_course

Что такое список?

Список в Python — это изменяемая последовательность элементов, которая может содержать элементы разных типов. Элементы списка упорядочены и доступны по индексам.

Создание списка:

python_course/lesson_6/create_list.py at main · kuzinobit/python_course
Примеры списков в Python.
Примеры списков в Python.

Списки создаются с помощью квадратных скобок [], в которые помещаются элементы, разделенные запятыми.

empty_list = [] # Пустой список
numbers = [1, 2, 3, 4, 5]
fruits = ["яблоко", "банан", "вишня"]
mixed = [1, "два", 3.0, True]

Особенности списков:

  • Изменяемость: Списки могут изменяться после создания (добавление, удаление, изменение элементов).
  • Упорядоченность: Элементы хранятся в порядке их добавления.
  • Разные типы данных: В списке могут храниться элементы разных типов.

Доступ к элементам списка.

python_course/lesson_6/indexation_list.py at main · kuzinobit/python_course
Пример доступа к элементам списка по индексу.
Пример доступа к элементам списка по индексу.

Индексация:

Элементы списка доступны по индексу. Индексы начинаются с 0.

# Индексы
fruits = ["яблоко", "банан", "вишня"]
print(fruits[0]) # "яблоко"
print(fruits[1]) # "банан"
print(fruits[2]) # "вишня"
print()

Отрицательные индексы:

Отрицательные индексы позволяют обращаться к элементам с конца списка.

print(fruits[-1]) # "вишня"
print(fruits[-2]) # "банан"
print(fruits[-3]) # "яблоко"

Изменение элементов:

Можно изменять значение элементов списка по их индексу.

# Отрицательные индексы
fruits = ["яблоко", "банан", "вишня"]
print(fruits[-1]) # "вишня"
print(fruits[-2]) # "банан"
print(fruits[-3]) # "яблоко"
print()

Срезы списка.

python_course/lesson_6/slice_list.py at main · kuzinobit/python_course
Пример использования среза.
Пример использования среза.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[2:5]) # [3, 4, 5]
print(numbers[:4]) # [1, 2, 3, 4]
print(numbers[5:]) # [6, 7, 8, 9]
print(numbers[::2]) # [1, 3, 5, 7, 9]
print(numbers[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1]

Срезы позволяют получить подсписок из списка.

Описание синтаксиса:

список[начало:конец:шаг]
  • начало — индекс начала среза (включительно).
  • конец — индекс конца среза (не включается).
  • шаг — шаг среза (необязательный параметр).

Операции со списками.

python_course/lesson_6/operation_list.py at main · kuzinobit/python_course
Пример операций со списками.
Пример операций со списками.

Длина списка:

Функция len() возвращает количество элементов в списке.

fruits = ["яблоко", "банан", "вишня"]
print(len(fruits)) # 3

Проверка наличия элемента:

Оператор in используется для проверки наличия элемента в списке.

print("яблоко" in fruits) # True
print("груша" in fruits) # False

Конкатенация списков:

Списки можно объединять с помощью оператора +.

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2
print(combined) # [1, 2, 3, 4, 5, 6]

Повторение списка:

Оператор * повторяет список заданное количество раз.

numbers = [0] * 5 print(numbers) # [0, 0, 0, 0, 0]

Основные методы списков.

Добавление элементов:

python_course/lesson_6/metod_plus_list.py at main · kuzinobit/python_course
Пример использования методов для добавления элементов в список.
Пример использования методов для добавления элементов в список.

append(element) — добавляет элемент в конец списка.

# Использование append()
fruits = ["яблоко", "банан", "вишня"]
fruits.append("груша")
print(fruits) # ["яблоко", "банан", "вишня", "груша"]
print()

insert(index, element) — вставляет элемент на заданную позицию.

# Использование insert()
fruits = ["яблоко", "банан", "вишня"]
fruits.insert(1, "абрикос")
print(fruits) # ["яблоко", "абрикос", "банан", "вишня"]

Удаление элементов:

python_course/lesson_6/metod_del_list.py at main · kuzinobit/python_course
Пример использования методов для удаления элементов из списка.
Пример использования методов для удаления элементов из списка.

remove(element) — удаляет первое вхождение элемента.

# Использование remove()
fruits = ["яблоко", "банан", "вишня"]
fruits.remove("банан")
print(fruits) # ["яблоко", "вишня"]
print()

pop(index) — удаляет элемент по индексу и возвращает его.

last_fruit = fruits.pop()
print(last_fruit) # "вишня" print(fruits) # ["яблоко"]

clear() — удаляет все элементы из списка.

fruits.clear()
print(fruits) # []

Изменение порядка элементов:

python_course/lesson_6/metod_update_list.py at main · kuzinobit/python_course
Пример использования методов для смены порядка элементов в списке.
Пример использования методов для смены порядка элементов в списке.

reverse() — разворачивает список.

# Использование reverse()
numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers) # [5, 4, 3, 2, 1]

sort() — сортирует список.

# Использование sort()
numbers = [3, 1, 4, 2, 5]
numbers.sort()
print(numbers) # [1, 2, 3, 4, 5]

Копирование списка:

python_course/lesson_6/metod_copy_list.py at main · kuzinobit/python_course
Пример использования метода для копирования списка.
Пример использования метода для копирования списка.

copy() — создает поверхностную копию списка.

original = [1, 2, 3]
print(f"Оригинальный список = {original}")
copy_list = original.copy()
print(f"Скопированный список = {copy_list}")

Вложенные списки (двумерные списки).

python_course/lesson_6/matrix.py at main · kuzinobit/python_course
Пример создания двумерного списка и обращение к элементам.
Пример создания двумерного списка и обращение к элементам.

Списки могут содержать другие списки, образуя многомерные структуры.

Создание двумерного списка:

matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

Доступ к элементам:

print(matrix[0][0]) # Вывод: 1
print(matrix[1][2]) # Вывод: 6

Функции и методы для работы со списками.

python_course/lesson_6/func_list.py at main · kuzinobit/python_course
Пример использования различных функций.
Пример использования различных функций.

Функция list():

Создает список из итерируемого объекта.

string = "Python"
char_list = list(string)
print(char_list) # Вывод: ['P', 'y', 't', 'h', 'o', 'n']

Функция len():

Возвращает количество элементов в списке.

numbers = [1, 2, 3, 4, 5]
print(len(numbers)) # Вывод: 5

Функции min() и max():

Возвращают минимальное и максимальное значения в списке.

print(min(numbers)) # Вывод: 1
print(max(numbers)) # Вывод: 5

Функция sum():

Вычисляет сумму элементов списка чисел.

total = sum(numbers)
print(total) # Вывод: 15

Функция sorted():

Возвращает отсортированный список, не изменяя исходный.

unsorted_numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(unsorted_numbers)
print(sorted_numbers) # Вывод: [1, 2, 3, 4, 5]
print(unsorted_numbers) # Вывод: [3, 1, 4, 2, 5]

Практические примеры.

Пример1. Объединение списков:

python_course/lesson_6/example_1.py at main · kuzinobit/python_course
Пример объединения списков.
Пример объединения списков.
list1 = ["a", "b", "c"]
list2 = [1, 2, 3]
combined_list = list1 + list2
print(combined_list) # Вывод: ["a", "b", "c", 1, 2, 3]

Пример 2. Дублирование списка:

python_course/lesson_6/example_2.py at main · kuzinobit/python_course
Пример дублирования списка.
Пример дублирования списка.
numbers = [1, 2, 3]
duplicated_numbers = numbers * 2
print(duplicated_numbers) # Вывод: [1, 2, 3, 1, 2, 3]

Пример 3. Проверка наличия элемента и его количества:

python_course/lesson_6/example_3.py at main · kuzinobit/python_course
Пример проверки наличия элемента и его количества.
Пример проверки наличия элемента и его количества.
letters = ['a', 'b', 'c', 'a', 'b', 'a']
count_a = letters.count('a')
print(f"Количество 'a' в списке: {count_a}") # Вывод: 3

Пример 4. Индекс элемента:

python_course/lesson_6/example_4.py at main · kuzinobit/python_course
Пример поиска индекса элемента.
Пример поиска индекса элемента.
letters = ['a', 'b', 'c', 'a', 'b', 'a']
index_b = letters.index('b')
print(f"Первое вхождение 'b' находится на позиции: {index_b}") # Вывод: 1

Пример 5. Копирование списка:

python_course/lesson_6/example_5.py at main · kuzinobit/python_course
Пример копирования списка.
Пример копирования списка.
original_list = [1, 2, 3]
copied_list = original_list.copy()
copied_list.append(4)
print("Оригинальный список:", original_list) # Вывод: [1, 2, 3]
print("Копия списка:", copied_list) # Вывод: [1, 2, 3, 4]

Заключение шестого урока.

Сегодня мы изучили:

  • Списки в Python и способы их создания.
  • Доступ к элементам списка с помощью индексов и срезов.
  • Операции и методы для работы со списками (добавление, удаление, сортировка и др.).
  • Вложенные списки и работу с многомерными данными.
  • Генераторы списков, позволяющие создавать списки на основе выражений.
  • Функции и методы для эффективной работы со списками.

Списки являются фундаментальным типом данных в Python, используемым для хранения и обработки коллекций элементов. Понимание списков и умение работать с ними — необходимый навык для эффективного программирования на Python.

Домашнее задание.

Задание 1: Создание и модификация списка.

  1. Создайте список numbers, содержащий числа от 1 до 5.
  2. Замените второй элемент на 10.
  3. Добавьте число 6 в конец списка.
  4. Удалите первый элемент списка.
  5. Выведите итоговый список.

Задание 2: Работа с вложенными списками.

  1. Создайте список matrix, представляющий матрицу 2x2:
  2. Замените элемент в позиции (1,1) на 5.
  3. Выведите элемент в позиции (0,1).
  4. Выведите итоговую матрицу.

Задание 3*: Генераторы списков.

  1. Используя генератор списков, создайте список even_numbers, содержащий четные числа от 2 до 20.
  2. Используя генератор списков, создайте список squares, содержащий квадраты чисел от 1 до 10.

Свои домашние работы отправляйте на почтовый ящик homework@kuzinobit.com.

Вопросы для самопроверки.

  1. Как создать список в Python и как добавить в него новый элемент?
  2. Как получить доступ к третьему элементу списка и изменить его значение?
  3. Что такое генератор списков и как его использовать?
  4. Как объединить два списка и как повторить список несколько раз?
  5. Как создать копию списка, чтобы изменения в копии не затрагивали оригинал?

Поздравляю с успешным освоением шестого урока! В следующем уроке мы продолжим изучать основы Python и познакомимся с условными операторами, такими как if, elif и else, которые позволят нам управлять потоком выполнения программы и выполнять различные действия в зависимости от условий. До встречи на следующем уроке!

Друзья, ставьте свои лайки и подписывайтесь на канал. Дальше будет только интереснее! До новых встреч!