В этой статье мы обсудим, как массив или список можно передать функции в качестве параметра в Python.
Передать массив функции в Python
Так, например, если у нас есть тысячи значений, хранящихся в массиве, и мы хотим выполнить манипуляцию с этими значениями в определенной функции, тогда нам нужно передать весь массив конкретной функции.
Syntax: array(data_type, value_list)
Давайте разберемся в этом с помощью пары примеров
Пример 1:
Нам нужно импортировать массив, после чего мы создадим массив с его типом данных и элементами, а затем передадим его функции для перебора элементов в списке.
Python3
from
array
import
*
def
show(arr):
for
i
in
arr:
(i, end
=
', '
)
arr
=
array(
'i'
, [
16
,
27
,
77
,
71
,
70
,
75
,
48
,
19
,
110
])
show(arr)
Выход:
16, 27, 77, 71, 70, 75, 48, 19, 110
Пример 2:
Нам нужно импортировать массив, после чего мы создадим массив и передадим его функции для умножения элементов в списке.
Python3
from
array
import
*
def
Product(arr):
p
=
1
for
i
in
arr:
p
*
=
i
(
"Product: "
, p)
arr
=
array(
'f'
, [
4.1
,
5.2
,
6.3
])
Product(arr)
Выход:
Product: 134.31599601554856
Передать список функции в Python
Передача параметров не ограничивается типами данных. Это означает, что в эту процедуру можно передавать переменные различных типов данных. Так, например, если у нас есть тысячи значений, хранящихся в списке, и мы хотим манипулировать этими значениями в определенной функции, нам нужно передать весь список в конкретную функцию.
Syntax: var_name = [ele1, ele2,..]
Список создается путем помещения элементов в квадратные скобки [], разделенных запятыми.
Давайте разберемся в этом с помощью пары примеров
Пример 1:
Был создан список с именами животных, и список животных, который мы создали ранее, полностью передается определяемой пользователем функции с именем print_animals, где мы будем печатать все элементы списка животных. Создается определяемая пользователем функция с именем print_animals, которая получает на вход список животных. Его простая цель состоит в том, чтобы напечатать каждый элемент списка животных, используя цикл for.
Python3
def
print_animals(animals):
for
a
in
animals:
(a)
# Created a list of type string
animals
=
[
"Cat"
,
"Dog"
,
"Tiger"
,
"Giraffe"
,
"Wolf"
]
# passing the entire list as a parameter
(animals)
Выход:
['Cat', 'Dog', 'Tiger', 'Giraffe', 'Wolf']
Пример 2:
Аналогичным образом давайте выполним другую программу, где список будет иметь тип целых чисел, и мы будем находить произведение всех чисел, присутствующих в списке.
Python3
def
Product(nums):
p
=
1
for
i
in
nums:
# Multiplication of every element
# of nums with each other
p
*
=
i
(
"Product: "
, p)
# Created a list of integers
nums
=
[
4
,
5
,
6
]
# Passed the entire list as a parameter
Product(nums)
Выход:
Product: 120
Пример 3:
Теперь может быть случай, когда элементы списка еще не определены. Это означает, что количество элементов и значения не определены. В этом случае мы будем передавать значения в качестве параметров, которые, в свою очередь, будут действовать как список, т.е. набор значений.
*args: используется для передачи переменной количества аргументов в функцию. Он используется для передачи списка аргументов переменной длины без ключевых слов.
Python3
# User defined function taking the
# values as input
def
Product(
*
arguments):
p
=
1
for
i
in
arguments:
# Multiplying each and every element
p
*
=
i
# Printing the final answer which
# is their multiplication
(p)
# Passing values that we want in our list
Product(
4
,
5
,
1
,
2
)
Выход:
40