Python

List в Python: полный разбор для начинающих

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

По этой теме полезно отдельно посмотреть Составьте еженедельное расписание занятий, чтобы расширить контекст и сравнить подходы

По этой теме полезно отдельно посмотреть Аннотации типов для декораторов в Python, чтобы расширить контекст и сравнить подходы

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

tasks = ["создать файл", "написать код", "проверить результат"]

print(tasks[0])
print(tasks[-1])
print(len(tasks))

Индекс 0 означает первый элемент, -1 — последний. len() показывает длину списка

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

tasks = []

tasks.append("создать файл")
tasks.extend(["написать код", "проверить результат"])
tasks.insert(0, "подготовить папку")

print(tasks)

append добавляет один элемент, extend добавляет несколько, insert вставляет в выбранное место

Обход списка

tasks = ["создать файл", "написать код", "проверить результат"]

for number, task in enumerate(tasks, start=1):
    print(f"{number}. {task}")

enumerate удобен, когда пользователю нужен номер, а вам не хочется вести счетчик вручную

Срезы

items = ["a", "b", "c", "d"]

print(items[:2])
print(items[1:3])
print(items[::-1])

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

Список словарей

users = [
    {"name": "Анна", "active": True},
    {"name": "Илья", "active": False},
]

active_users = [user for user in users if user["active"]]
print(active_users)

Такой формат встречается в данных из API, таблиц и небольших приложений

Как проверять себя

Проверьте обычный список, пустой список, список из одного элемента и данные с повтором. Если в задаче есть индекс, отдельно проверьте слишком короткий список. Если есть изменение на месте, выведите исходные данные до и после операции

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

tasks = ["написать код", "проверить", "опубликовать"]

tasks.append("собрать обратную связь")
tasks[1] = "проверить результат"
done = tasks.pop(0)

print("готово:", done)
print("осталось:", tasks)

В этом примере видно три важных действия: добавление, замена и удаление. После каждого изменения полезно выводить список, чтобы понимать, меняется исходный объект или создается новый

Список словарей: фильтрация и обновление

users = [
    {"name": "Анна", "active": True},
    {"name": "Илья", "active": False},
]

active_names = [user["name"] for user in users if user["active"]]
print(active_names)

Такой формат часто встречается после чтения JSON, CSV или ответа API. Список хранит порядок записей, а словарь внутри описывает одну запись

Частые ошибки

Путать номер элемента и индекс

Первый элемент имеет индекс 0, второй — индекс 1, третий — индекс 2

Менять список там, где нужен новый результат

Если исходные данные еще пригодятся, используйте новый список или sorted(), а не изменение на месте

Не проверять пустые данные

Пустой список часто ломает pop, choice, обращение по индексу и вычисление среднего значения

Мини-проект: список задач

tasks = []

tasks.append({"title": "написать код", "status": "draft"})
tasks.append({"title": "проверить результат", "status": "todo"})

for number, task in enumerate(tasks, start=1):
    print(number, task["title"], task["status"])

Здесь список хранит порядок задач, а словарь внутри хранит поля одной задачи. Такое сочетание часто встречается в маленьких приложениях, парсерах и обработке таблиц

Что обязательно проверить

Проверьте пустой список, первый элемент, последний элемент, добавление нового элемента, изменение статуса и обход через enumerate. Если эти действия понятны, база list уже не выглядит абстрактной

Живой пример: очередь задач

tasks = ["написать текст", "проверить форму", "опубликовать"]

current = tasks.pop(0)
tasks.append("проверить аналитику")

print("сейчас:", current)
print("осталось:", tasks)

Такой пример показывает сразу несколько вещей: список хранит порядок, pop(0) забирает первый элемент, append добавляет новую задачу в конец. Если очередь пустая, pop(0) вызовет ошибку, поэтому в реальном коде перед ним нужна проверка if tasks

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x