Рубрики
Без рубрики

Python вернуть несколько значений – как вернуть кортеж, список или словарь

Автор оригинала: Amy Haddad.

Вы можете вернуть несколько значений из функции в Python.

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

def miles_to_run(minimum_miles):
   week_1 = minimum_miles + 2
   week_2 = minimum_miles + 4
   week_3 = minimum_miles + 6
   return [week_1, week_2, week_3]
 
print(miles_to_run(2))
# result: [4, 6, 8]

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

Кортежи

Кортеж – это упорядоченная, неизменная последовательность. Это значит, кортеж не может менять.

Используйте кортеж, например, для хранения информации о человеке: их имя, возраст и местоположение.

nancy = ("nancy", 55, "chicago")

Вот как вы бы написали функцию, которая возвращает кортеж.

def person():
   return "bob", 32, "boston"
 
print(person())
# result: ('bob', 32, 'boston')

Обратите внимание, что мы не использовали скобки в операторе возврата. Это потому, что вы можете вернуть кортеж, отделяя каждый элемент запятой, как показано в приведенном выше примере.

«На самом деле запятая, которая делает кортеж, а не в скобках», – Документация указывает на то. Тем не менее, скобки являются Требуется с пустыми кортежами или избежать путаницы.

Вот пример функции, которая использует скобки () Чтобы вернуть кортеж.

def person(name, age):
   return (name, age)
print(person("henry", 5))
#result: ('henry', 5)

Список

Список представляет собой упорядоченную, измельченную последовательность. Это означает, список может менять.

Вы можете использовать список в магазин города:

cities = ["Boston", "Chicago", "Jacksonville"]

Или баллы тестов:

test_scores = [55, 99, 100, 68, 85, 78]

Посмотрите на функцию ниже. Он возвращает список, содержащий десять номеров.

def ten_numbers():
   numbers = []
   for i in range(1, 11):
       numbers.append(i)
   return numbers
 
print(ten_numbers())
#result: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Вот еще один пример. На этот раз мы проходим несколько аргументов, когда мы называем функцию.

def miles_ran(week_1, week_2, week_3, week_4):
   return [week_1, week_2, week_3, week_4]
 
monthly_mileage = miles_ran(25, 30, 28, 40)
print(monthly_mileage)
#result: [25, 30, 28, 40]

Легко запутано кортежи и списки. В конце концов, оба являются контейнерами, которые хранят объекты. Тем не менее, помните эти ключевые различия:

  • Кортежи не могут измениться.
  • Списки могут измениться.

Словари

Словарь содержит пары ключа-значений, завернутые в фигурные скобки {} Отказ Каждый «ключ» имеет связанную «значение».

Рассмотрим словарь сотрудников ниже. Каждое имя сотрудника – это «ключ», и их положение является «значением».

employees = {
   "jack": "engineer",
   "mary": "manager",
   "henry": "writer",
}

Вот как вы хотите написать функцию, которая возвращает словарь с ключом, Value Pair.

def city_country(city, country):
   location = {}
   location[city] = country
   return location
 
favorite_location = city_country("Boston", "United States")
print(favorite_location)
# result: {'Boston': 'United States'}

В приведенном выше примере «Бостон» является ключ и «Соединенные Штаты» – это ценность Отказ

Мы покрывали много земли. Ключевой момент является это: вы можете вернуть несколько значений из функции Python, и есть несколько способов сделать это.

Я пишу о навыках программирования, которые вам необходимо разработать, и концепции, которые вам нужно учиться, и лучшие способы изучения их в amymhaddad.com .