Работа с данными списка

Завершено

Иногда необходимо работать с отдельными частями списка. Например, у вас есть список количества осадков за разные месяцы. Чтобы правильно проанализировать этот тип данных, может потребоваться найти осадки в течение трехмесячного периода. Или вы захотите отсортировать список по убыванию.

Python обеспечивает надежную поддержку работы с данными в списках. Эта поддержка включает в себя срезы данных (изучение только части) и сортировку.

Срез списка

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

Список планет содержит восемь элементов. Земля стоить третьей в списке. Чтобы выбрать планеты до Земли, используйте срез с 0 до 2:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets_before_earth = planets[0:2]
print(planets_before_earth)

Выходные данные: ['Mercury', 'Venus']

Обратите внимание, что Земля не включена в список. Это связано с тем, что индекс заканчивается перед конечным индексом.

Чтобы получить все планеты после Земли, выберите срез с 3 до 8:

planets_after_earth = planets[3:8]
print(planets_after_earth) 

Выходные данные: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

В примере отображается Нептуна. Индекс для Нептуна — 7, так как индексация начинается с 0. Поскольку конечный индекс был 8, последнее значение тоже включается. Если не поместить в срез конечный индекс, Python предполагает, что вы хотите дойти до конца списка:

planets_after_earth = planets[3:]
print(planets_after_earth)

Выходные данные: ['Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptune']

Важно!

Срез создает новый список. Текущий список не изменяется.

Объединение списков

Вы узнали, как можно использовать срезы для разделения списков, но как насчет их объединения?

Чтобы объединить два списка, используйте другой оператор (+) с двумя списками, чтобы получить новый список.

У Юпитера 79 известных спутников. Четыре самых крупных — Ио, Европа, Ганимед и Каллисто. Эти луны называются Галилеанскими лунами, потому что Galileo Galilei обнаружил их с помощью его теле область в 1610 году. Группа Амальтеи расположена ближе к Юпитеру, чем Галилеевы спутники. В эту группу входят Метида, Адрастея, Амальтея и Фива.

Создайте два списка. Заполните первый список четырьмя спутниками из группы Амальтеи и четырьмя спутниками из группы Галилея. Объедините их друг с другом, используя + для создания нового списка:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Выходные данные: The regular satellite moons of Jupiter are ['Metis', 'Adrastea', 'Amalthea', 'Thebe', 'Io', 'Europa', 'Ganymede', 'Callisto']

Важно!

При присоединении списков создается новый список. Текущий список не изменяется.

Сортировать списки

Чтобы отсортировать список, используйте метод .sort() в списке. Python сортирует список строк в алфавитном порядке и список чисел в числовом порядке:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort()
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Выходные данные: The regular satellite moons of Jupiter are ['Adrastea', 'Amalthea', 'Callisto', 'Europa', 'Ganymede', 'Io', 'Metis', 'Thebe']

Чтобы отсортировать список в обратном порядке, вызовите .sort(reverse=True) в списке:

amalthea_group = ["Metis", "Adrastea", "Amalthea", "Thebe"]
galilean_moons = ["Io", "Europa", "Ganymede", "Callisto"]

regular_satellite_moons = amalthea_group + galilean_moons
regular_satellite_moons.sort(reverse=True)
print("The regular satellite moons of Jupiter are", regular_satellite_moons)

Выходные данные: The regular satellite moons of Jupiter are ['Thebe', 'Metis', 'Io', 'Ganymede', 'Europa', 'Callisto', 'Amalthea', 'Adrastea']

Важно!

При использовании sort текущий список изменяется.