Общие сведения о списках
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