Представь: у тебя есть космопорт, и нужно хранить названия всех планет для полета. Можно создать отдельную переменную для каждой планеты: planet1 = "Марс", planet2 = "Венера"… Но это глупо! Для таких задач придумали списки.
🎯 Что такое список?
Список — это коробка, в которой можно хранить несколько значений под одним именем. Как подписанные ячейки в шкафу!
# Вместо этого:
planet1 = "Марс"
planet2 = "Венера"
planet3 = "Юпитер"
# Делаем так:
planets = ["Марс", "Венера", "Юпитер"]
Одна переменная planets содержит все три планеты! 🚀
📝 Как создать список
Списки создаются с помощью квадратных скобок [ ]. Элементы внутри разделяются запятыми:
# Список планет
planets = ["Меркурий", "Венера", "Земля", "Марс"]
# Список чисел (топливо на станциях)
fuel_levels = [100, 75, 50, 25, 0]
# Список эмодзи для настроения космонавта
moods = ["😊", "😎", "🤔", "😴", "🚀"]
# Пустой список (пока ничего не добавили)
empty_cargo = []
Важно: В одном списке можно хранить разные типы данных, но обычно это плохая практика. Лучше хранить однородные данные (все строки или все числа).
🔢 Индексы: адрес элемента
Каждый элемент в списке имеет свой номер-адрес, который называется индекс.
⚠️ Самое важное: В Python нумерация начинается с 0, а не с 1!
crew = ["Юрий", "Нил", "Валентина", "Базз"]
# 0-й 1-й 2-й 3-й
"Юрий"— индекс 0 (первый элемент!)"Нил"— индекс 1 (второй элемент)"Валентина"— индекс 2 (третий элемент)"Базз"— индекс 3 (четвёртый элемент)
🎯 Получение элемента по индексу
Чтобы достать элемент из списка, используй квадратные скобки с номером:
planets = ["Меркурий", "Венера", "Земля", "Марс"]
print(planets[0]) # Меркурий
print(planets[1]) # Венера
print(planets[2]) # Земля
print(planets[3]) # Марс
Практический пример: выбираем планету
destinations = ["Луна", "Марс", "Венера", "Титан"]
# Командир выбирает первую миссию
first_mission = destinations[0]
print(f"Первая миссия: полёт на {first_mission}!") # Полёт на Луна!
# Вторая миссия
second_mission = destinations[1]
print(f"Вторая миссия: полёт на {second_mission}!") # Полёт на Марс!
🔄 Отрицательные индексы
Python умеет считать с конца! Используй отрицательные числа:
crew = ["Алекс", "Мария", "Иван", "Ольга"]
print(crew[-1]) # Последний элемент → "Ольга"
print(crew[-2]) # Предпоследний → "Иван"
print(crew[-3]) # "Мария"
Схема:
crew = ["Алекс", "Мария", "Иван", "Ольга"]
0 1 2 3 ← обычные индексы
-4 -3 -2 -1 ← отрицательные индексы
📏 Длина списка: len()
Функция len() показывает сколько элементов в списке:
planets = ["Меркурий", "Венера", "Земля", "Марс"]
print(len(planets)) # 4
supplies = ["Вода", "Еда", "Кислород", "Топливо", "Инструменты"]
print(f"В трюме {len(supplies)} единиц груза") # В трюме 5 единиц груза
🎲 Списки + random.choice()
Помнишь функцию random.choice()? Она умеет работать со списками!
import random
destinations = ["Луна 🌙", "Марс 🔴", "Венера ☁️", "Юпитер 🌪️"]
# Выбираем случайную планету для полёта
random_planet = random.choice(destinations)
print(f"Следующая миссия: {random_planet}")
Каждый раз программа выберет случайную планету из списка!
💡 Зачем нужны списки?
1. Хранение связанных данных
# Все планеты солнечной системы в одном месте
solar_system = [
"Меркурий", "Венера", "Земля", "Марс",
"Юпитер", "Сатурн", "Уран", "Нептун"
]
2. Работа с коллекциями
# ASCII-арты целей для финала программы
targets = [
"🌙 Луна",
"⭐ Звезда",
"🪐 Сатурн",
"🌌 Галактика"
]
# Показываем все варианты
print("Куда летим?")
print(targets[0])
print(targets[1])
print(targets[2])
print(targets[3])
3. Случайный выбор
import random
farewell_messages = [
"До связи, космонавт! 👋",
"Счастливого полёта! 🚀",
"Возвращайся целым! 🛸",
"Увидимся на орбите! 🌍"
]
# Случайное прощание при каждом запуске
print(random.choice(farewell_messages))
🎨 Интересные примеры
Космический статус
mission_status = ["Подготовка", "Взлёт", "Полёт", "Посадка", "Завершено"]
current_phase = 2 # Мы сейчас в полёте
print(f"Статус миссии: {mission_status[current_phase]}") # Полёт
Уровни топлива
fuel_stations = [100, 85, 60, 40, 15]
# Проверяем первую станцию
if fuel_stations[0] >= 50:
print("✅ Первая станция заправлена!")
else:
print("❌ Требуется дозаправка!")
Экипаж корабля
crew_members = ["Капитан", "Пилот", "Инженер", "Учёный"]
print(f"Командир миссии: {crew_members[0]}")
print(f"Второй пилот: {crew_members[1]}")
print(f"Всего в экипаже: {len(crew_members)} человек")
⚠️ Частые ошибки
Ошибка 1: IndexError
planets = ["Марс", "Венера", "Земля"]
print(planets[3]) # ❌ ОШИБКА! Индекса 3 нет (есть только 0, 1, 2)
Запомни: Если в списке 3 элемента, индексы: 0, 1, 2. Последний индекс всегда len(список) - 1.
Ошибка 2: Забыл квадратные скобки
# ❌ Неправильно
planets = "Марс", "Венера", "Земля" # Это кортеж, не список!
# ✅ Правильно
planets = ["Марс", "Венера", "Земля"]
Ошибка 3: Пропустил запятые
# ❌ Неправильно
crew = ["Алекс" "Мария" "Иван"] # SyntaxError!
# ✅ Правильно
crew = ["Алекс", "Мария", "Иван"]
🎯 Итог
| Что | Как | Пример |
|---|---|---|
| Создать список | [элемент1, элемент2] |
planets = ["Марс", "Луна"] |
| Получить элемент | список[индекс] |
planets[0] → "Марс" |
| Последний элемент | список[-1] |
planets[-1] → "Луна" |
| Длина списка | len(список) |
len(planets) → 2 |
| Случайный элемент | random.choice(список) |
random.choice(planets) |
Запомни:
- ✅ Индексы начинаются с 0
- ✅ Используй квадратные скобки [ ]
- ✅ Разделяй элементы запятыми
💬 Comments (0)
No comments yet
Be the first to share your opinion about this article!