Я написал функцию Python, которая создает список. Как функция может вернуть список, чтобы я мог использовать его в других частях моей программы?
Чтобы вернуть список из функции в Python, используйте ключевое слово return, за которым следует список, который вы хотите вернуть. Подход такой же, как если бы вы возвращали любую переменную из функции. Код, вызывающий функцию, затем сможет использовать список, возвращаемый функцией.
Вот простой пример функции, возвращающей список:
def get_numbers():
numbers = [4, 32, 109, 23, 1056]
return numbers
result = get_numbers()
print(result)
# [4, 32, 109, 23, 1056]
В этом фрагменте кода сначала определите функцию get_numbers()
, вызываемую с помощью ключевого слова def. Эта функция создает список numbers
, а затем возвращает его с помощью ключевого слова return
в последней строке функции.
Сохраните возвращаемое функцией значение в переменной result
, затем передайте эту переменную функции print()
, которая выводит список, возвращаемый функцией.
Это простой пример того, как вернуть список из функции в Python.
Как вернуть несколько списков из функции в Python?
Функция Python может возвращать несколько списков. Для этого необходимо передать списки в оператор return функции, используя запятую в качестве разделителя.
Давайте посмотрим, как это работает, на примере кода:
def get_numbers_and_words():
numbers = [4, 32, 109, 23, 1056]
words = ['learn', 'program', 'beginner', 'concepts', 'coding']
return numbers, words
Последняя строка функции get_numbers_and_words()
возвращает два списка, первый из которых содержит числа (целые числа), а второй — слова (строки). Обратите внимание, что два списка разделены запятыми.
Какой тип данных, по вашему мнению, возвращает функция?
Вы можете узнать это с помощью встроенной функции type().
data = get_numbers_and_words()
print(type(data))
# <class 'tuple'>
Вы можете видеть, что функция выше возвращает кортеж. Два списка, возвращаемые функцией, находятся внутри кортежа.
Давайте подтвердим это, распечатав значение переменной, возвращаемое функцией get_numbers_and_words()
:
data = get_numbers_and_words()
print(data)
# ([4, 32, 109, 23, 1056], ['learn', 'program', 'beginner', 'concepts', 'coding'])
Вы можете видеть, что функция возвращает кортеж, в котором первый элемент — это список целых чисел (чисел), а второй элемент — это список строк (слов), возвращаемых функцией.
Вы можете получить доступ к каждому списку в кортеже, используя индексацию. Ниже мы получаем доступ к первому и второму элементам (оба списка) в кортеже:
Первый элемент
data = get_numbers_and_words()
print(data[0])
# [4, 32, 109, 23, 1056]
Второй элемент
data = get_numbers_and_words()
print(data[1])
# ['learn', 'program', 'beginner', 'concepts', 'coding']
Помните, что индексация последовательностей в Python начинается с нуля.
Как вернуть список, созданный с помощью генератора списков?
В Python вы можете создать список в функции, используя генератор списков, а затем вернуть этот список с помощью ключевого слова return.
Давайте напишем функцию, которая возвращает список чисел от 0 до 10, используя генератор списков и функцию range():
def get_numbers():
return [x for x in range(1023, 1043)]
Теперь вызовите функцию и убедитесь, что она возвращает правильный список:
numbers = get_numbers()
print(numbers)
# [1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042]
В последнем фрагменте кода Python вы вызвали функцию get_numbers()
и сохранили список, возвращаемый функцией, в переменной numbers
.
Как проверить, возвращает ли функция список?
При написании реальных программ вы можете столкнуться со сложными функциями, в которых не так-то просто определить, является ли возвращаемый функцией объект списком.
Чтобы подтвердить, что функция Python возвращает список, вы можете использовать встроенную функцию Python type(). Эта функция показывает тип данных возвращаемой вами переменной и подтверждает, является ли она списком.
Вот пример:
def get_words():
message = "Write one Python program every day"
words = message.split()
print(type(words))
return words
Мы создаем список из строки, используя метод string split().
Перед возвратом этого списка мы используем функцию type() для вывода типа данных переменной words
.
words = get_words()
# <class 'list'>
Вывод подтверждает, что возвращаемая функцией get_words()
переменная представляет собой список.
Вы можете использовать функцию print()
, чтобы просмотреть содержимое списка, который возвращает функция:
print(words)
# ['Write', 'one', 'Python', 'program', 'every', 'day']
Вы можете видеть, что этот список является результатом разделения исходной строки с использованием пробела в качестве разделителя.
При таком подходе функция может принимать текст любой длины и возвращать список, в котором каждый элемент представляет собой одно слово текста.
Затем вы можете написать дополнительную логику в своем коде для анализа текста на основе вашей цели (например, найти слова, которые чаще всего встречаются в тексте).