Список Python — это тип структуры данных, который позволяет хранить несколько элементов в одной переменной. Списки создаются путем помещения последовательности элементов, разделенных запятыми, в квадратные скобки [].

Например, мы могли бы составить список некоторых известных видов спорта в США:

Sports_in_US = ['Soccer', 'Golf', 'Basketball', 'Baseball']

Этот список Sports_in_US содержит четыре строковых элемента, каждый из которых представляет отдельный вид спорта, которым занимаются в США.

Содержание

Метод 1: с использованием индексации Python

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

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

chicago_neighborhoods = ["Hyde Park", "Wicker Park", "Lincoln Park", "Logan Square", "West Loop"]

first_neighbor = chicago_neighborhoods[0]
second_neighbor = chicago_neighborhoods[1]
print('Two neighbors are: ', first_neighbor, second_neighbor)

Вывод: Как мы видим, мы получаем первые два индексированных элемента из списка.

Two neighbors are:  Hyde Park Wicker Park

Как вернуть несколько значений в списке Python с помощью индексации

Примечание:

  1. Мы можем получить элементы только один за другим, поскольку индексы списка принимают только один аргумент за раз.
  2. Мы также можем предоставить отрицательное индексированное значение для возвращаемых значений.

Метод 2: с использованием срезов списка

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

Например, создадим список главных героев фильма «ДРУЗЬЯ» и попробуем получить из него элементы:

friends_characters = ["Rachel", "Monica", "Phoebe", "Joey", "Chandler", "Ross"]

first_three_characters = friends_characters[0:3]
print(first_three_characters)

Результат:

['Rachel', 'Monica', 'Phoebe']

Метод 2: с использованием срезов списка

У нас также могут быть альтернативные элементы из этого списка:

friends_characters = ["Rachel", "Monica", "Phoebe", "Joey", "Chandler", "Ross"]

first_three_characters = friends_characters[0:5:2]
print(first_three_characters)

Результат:

['Rachel', 'Phoebe', 'Chandler']

Используя нарезку с переходом по индексу

Примечание: мы также можем использовать отрицательные индексные числа.

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

Метод 3: с использованием понимания списка

Понимание списков — это более продвинутая функция Python, которая предлагает краткий способ создания новых списков путем перебора существующих списков и применения условного оператора.

Например, предположим, что у нас есть список серий из сериала «ДРУЗЬЯ», и мы хотим вернуть только те, которые начинаются с «Эпизод с».

friends_episodes = ["The One with Five Steaks and an Eggplant", "The One Where Old Geller Dies",
                    "The One with the Embryos", "The One with Ross's Wedding",
                    "The One Where No One's Ready"]

episodes_starting_with_TOW = [episode for episode in friends_episodes if episode.startswith("The One with")]

print(episodes_starting_with_TOW)

Вывод: в приведенном выше примере строка со списком создает новый список, который включает только эпизоды из friends_episodes, которые начинаются с «The One with».

['The One with Five Steaks and an Eggplant', 'The One with the Embryos', "The One with Ross's Wedding"]

Метод 3: с использованием понимания списка

Таким образом, мы можем использовать понимание списка, чтобы список Python возвращал несколько значений.

Метод 4: с помощью метода filter()

Функция filter() в Python создает список элементов, для которых функция возвращает True.

Представьте, что у нас есть список самых кассовых фильмов США, и мы хотим вернуть только те фильмы, которые заработали более 600 миллионов долларов. Вы можете использовать filter(): здесь мы сначала определим функцию, которая будет выбирать фильмы с общей стоимостью более 600 миллионов долларов, а затем применим эту функцию в качестве параметра, передаваемого в функцию filter().

Затем мы просто создадим список всех возвращаемых значений, используя функцию list().

def made_more_than_500(film):
    name, gross = film
    return gross > 600

top_grossing_films = [
   ("Titanic", 600),
   ("Star Wars: The Force Awakens", 936),
   ("Avengers: Endgame", 858),
   ("Finding Dory", 486)
]
high_grossing_films = list(filter(made_more_than_500, top_grossing_films))

print(high_grossing_films)

Результат:

[('Star Wars: The Force Awakens', 936),('Avengers: Endgame', 858)]

Метод 4: с помощью метода filter() 

Добавить комментарий