Общие сведения о списках

Завершено

Python имеет множество встроенных типов, таких как строки и целые числа. В Python есть тип для хранения коллекции значений — список.

Создать список

Список создается путем присвоения переменной для последовательности значений. Каждое значение отделяется запятой и заключено в квадратные скобки ([]). В следующем примере список всех планет хранится в переменной planets:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]

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

Вы можете получить доступ к любому элементу в списке, поместив индекс в квадратные скобки [] после имени переменной списка. Индексы начинаются с 0, поэтому в следующем коде planets[0] является первым элементом в списке planets:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
print("The first planet is", planets[0])
print("The second planet is", planets[1])
print("The third planet is", planets[2])
The first planet is Mercury
The second planet is Venus
The third planet is Earth

Примечание.

Поскольку все индексы начинаются с 0, [1] — это второй элемент, [2] — третий и т. д.

Можно также изменять значения в списке с помощью индекса. Это можно сделать, назначив новое значение, точно так же, как вы присваиваете значение переменной. Например, можно изменить название "Марс" в списке, чтобы использовать его псевдоним:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets[3] = "Red Planet"
print("Mars is also known as", planets[3])

Выходные данные: Mars is also known as Red Planet

Определение длины списка

Чтобы получить длину списка, используйте встроенную функцию len(). Следующий код создает новую переменную number_of_planets. Код присваивает этой переменной число элементов в списке planets (8).

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
number_of_planets = len(planets)
print("There are", number_of_planets, "planets in the solar system.")

Выходные данные: There are 8 planets in the solar system

Добавление значений в списки

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

Например, следующий код добавляет строку "Pluto" в конец списка planets:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
planets.append("Pluto")
number_of_planets = len(planets)
print("There are actually", number_of_planets, "planets in the solar system.")

Выходные данные: There are actually 9 planets in the solar system.

Удаление значения из списка

Вы можете удалить последний элемент в списке, вызвав метод .pop() в переменной списка:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", "Pluto"]
planets.pop()  # Goodbye, Pluto
number_of_planets = len(planets)
print("No, there are definitely", number_of_planets, "planets in the solar system.")

Использование отрицательных индексов

Вы узнали, как использовать индексы для выборки отдельного элемента в списке:

print("The first planet is", planets[0])

Выходные данные: The first planet is Mercury

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

В следующем примере индекс -1 возвращает последний элемент в списке. Индекс -2 возвращает второе значение с конца.

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
print("The last planet is", planets[-1])
print("The penultimate planet is", planets[-2])
The last planet is Neptune
The penultimate planet is Uranus

Если вы хотите вернуть третье значение с конца, используйте индекс -3 и т. д.

Поиск значения в списке

Чтобы определить, где хранится значение в списке, используйте метод списка index. Этот метод ищет значение и возвращает индекс этого элемента в списке. Если совпадений не найдено, возвращается значение -1.

В следующем примере показано использование "Jupiter" в качестве значения индекса:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
jupiter_index = planets.index("Jupiter")
print("Jupiter is the", jupiter_index + 1, "planet from the sun")

Выходные данные: Jupiter is the 5 planet from the sun

Примечание.

Поскольку индексация начинается с 0, необходимо добавить 1, чтобы отобразить правильный номер.

Вот еще один:

planets = ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"]
mercury_index = planets.index("Mercury")
print("Mercury is the", mercury_index + 1, "planet from the sun")

Выходные данные: Mercury is the 1 planet from the sun