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

Python+AI/Структуры данных в Python

Материал из Викиверситета
Файл:2-Python-List-tuple-dict-set.pdf
Слайды лекции «Структуры данных в Python», 2025

Структуры данных в Python: List, Tuple, Dict, Set — это вторая лекция курса Программирование на Python для начинающих с помощью искусственного интеллекта, посвящённая основным типам коллекций в Python. В этой лекции вы познакомитесь со списками, кортежами, словарями и множествами на примере танцующего кота Фунтика 🐱 и его друга Байтика 💻.

Видеолекция

[править]

Полная запись лекции "Структуры данных в Python с Qwen и котами" доступна на YouTube. Продолжительность: ~30 минут.

Что вы изучите

[править]
  • Списки (List) — упорядоченные изменяемые коллекции значений
  • Кортежи (Tuple) — неизменяемые последовательности данных
  • Словари (Dict) — пары «ключ → значение» для хранения структурированных данных
  • Множества (Set) — коллекции уникальных элементов без повторов
  • Операции со списками: append, len, индексация, циклы
  • Практические примеры: программа танцев кота, профили котов, игрушки
  • Работа в Google Colab с ноутбуком week2a_list.ipynb
  • Использование Qwen AI для генерации и объяснения кода

Список (List)

[править]

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

Основные операции

[править]
Операция Код Описание
Создание my_list = [1, 2, 3] Создать новый список
Доступ к элементу my_list[0] Получить первый элемент (индексы начинаются с 0)
Последний элемент my_list[-1] Получить последний элемент
Добавление my_list.append(4) Добавить элемент в конец списка
Длина len(my_list) Узнать количество элементов
Цикл for item in my_list: Перебрать все элементы

Пример: Список дел Фунтика

[править]
# Список дел Фунтика на неделю
todo_list = [
    "📚 Написать эссе по экономике",
    "💻 Выполнить задание по Python",
    "🎬 Посмотреть лекцию на YouTube",
    "☕ Кофе с однокурсниками",
    "🎮 Поиграть в видеоигры",
]

# Вывести первое и последнее дело
print(f"Самое важное: {todo_list[0]}")
print(f"Самое приятное: {todo_list[-1]}")

# Добавить новое дело
todo_list.append("🏋 Тренировка")

# Узнать количество дел
print(f"🐱 У Фунтика есть {len(todo_list)} дел")

# Цикл по списку с нумерацией
for i, task in enumerate(todo_list, 1):
    print(f"🐱 Дело #{i}: {task}")

Кортеж (Tuple)

[править]

Кортеж — это неизменяемая последовательность значений. Кортежи создаются с помощью круглых скобок (). После создания кортежа его элементы нельзя изменить, добавить или удалить.

Когда использовать кортежи

[править]
  • Для хранения постоянных данных (координаты точки, время)
  • Когда важно гарантировать неизменность данных
  • Кортежи работают быстрее списков

Пример: Время начала конкурса

[править]
# Время начала конкурса танцев (часы, минуты)
start_time = (19, 30)

print(f"⏰ Начало в {start_time[0]}:{start_time[1]:02d}")
# Вывод: ⏰ Начало в 19:30

Словарь (Dict)

[править]

Словарь — это коллекция пар «ключ → значение». Словари создаются с помощью фигурных скобок {} и двоеточия : между ключом и значением.

Когда использовать словари

[править]
  • Для хранения структурированных данных (профили, настройки)
  • Когда нужен быстрый доступ к данным по ключу
  • Для представления объектов с именованными свойствами

Пример: Профили котов

[править]
# Профиль Фунтика
funtik = {
    "name": "Фунтик",
    "university": "ПетрГУ",
    "toys": ["🧶 клубок", "🐟 рыбка"],
}

# Профиль Байтика
bytik = {
    "name": "Байтик",
    "university": "MIT",
    "projects": 5,
    "toys": ["🐭 мышка", "🎾 мячик"],
}

# Обращение к словарю по ключу
print(f"📚 {funtik['name']} учится в {funtik['university']}")
print(f"🎯 Игрушки Фунтика: {', '.join(funtik['toys'])}")

print(f"💻 {bytik['name']} учится в {bytik['university']}")
print(f"🎁 Игрушки Байтика: {', '.join(bytik['toys'])}")

Множество (Set)

[править]

Множество — это неупорядоченная коллекция уникальных элементов. Множества создаются с помощью фигурных скобок {} или функции set().

Особенности множеств

[править]
  • Автоматически удаляют дубликаты
  • Не сохраняют порядок элементов
  • Полезны для проверки вхождения элемента
  • Поддерживают математические операции (объединение, пересечение)

Пример: Стили танцев без повторов

[править]
# Создаём множество с повторяющимися элементами
all_styles = {"Вальс", "Рэп", "Вальс", "Хип-хоп", "Рэп"}

print(f"🎵 Стили без повторов: {all_styles}")
# Вывод: 🎵 Стили без повторов: {'Вальс', 'Рэп', 'Хип-хоп'}
# Обратите внимание: только уникальные элементы!

Сравнительная таблица

[править]
Тип Пример Особенности Когда использовать
List dance_skills = ["Вальс", "Рэп"] Можно менять, порядок важен Программа выступлений, список задач
Tuple start_time = (19, 30) Нельзя менять Координаты, время, константы
Dict props = {"Вальс": "клубок"} Ключ → значение Профили, настройки, структурированные данные
Set all_styles = {"Вальс", "Рэп"} Только уникальные элементы Удаление дубликатов, проверка вхождения

Практическое задание

[править]

Задание 1: Список покупок

[править]

Создайте список покупок для кота Фунтика:

  1. Добавьте в список 5 товаров
  2. Выведите первый и последний товар
  3. Добавьте ещё один товар с помощью append()
  4. Выведите количество товаров в списке

Задание 2: Словарь студента

[править]

Создайте словарь с информацией о себе:

  1. Имя
  2. Университет/школа
  3. Любимые предметы (список)
  4. Количество проектов

Выведите информацию из словаря с помощью форматированных строк.

Задание 3: Множество интересов

[править]

Создайте два множества:

  1. my_interests — ваши интересы
  2. friend_interests — интересы друга

Найдите общие интересы с помощью операции пересечения (&).

Работа в Google Colab

[править]

Откройте ноутбук week2a_list.ipynb в Google Colab:

  1. Перейдите в репозиторий курса github.com/componavt/python-ai-template на GitHub
  2. Откройте папку notebooks
  3. Нажмите на файл week2a_list.ipynb
  4. Нажмите кнопку "Open in Colab"
  5. Запустите все ячейки кода

Использование Qwen AI

[править]

В этой лекции мы используем Qwen — AI-помощника от Alibaba для генерации и объяснения кода.

Как использовать Qwen

[править]
  1. Откройте chat.qwen.ai
  2. Войдите с помощью Google-аккаунта
  3. Задайте вопрос на русском или английском языке
  4. Скопируйте полученный код в Google Colab

Примеры промптов для Qwen

[править]
  • "Создай список из 10 случайных чисел от 1 до 100 в Python"
  • "Как отсортировать словарь по значениям в Python?"
  • "Напиши функцию для удаления дубликатов из списка"
  • "Объясни разницу между списком и кортежем в Python"

См. также

[править]

Ссылки

[править]