Как создать функцию в Python, которая дает элементы массива? - PullRequest
1 голос
/ 06 июля 2019

У меня есть массив.Допустим, a = array ([[10, 2, 13, 55]]) Я хочу создать функцию, которая дает мне 1-й элемент для t = 0, второй элемент для t = 1 ...

Я пробовал следующее:

def a(t):
    return a[t]

Ответы [ 3 ]

1 голос
/ 06 июля 2019

Вы можете сделать это так:

a=array([[10, 2, 13, 55]]) 

def get_value(t):
    return a[t]

get_value(0) #results [10, 2, 13, 55]

Так как данные вашего примера являются 2D, если мы хотим получить доступ к каждому из них, мы должны передать 2 числа в качестве индекса.

a=array([[10, 2, 13, 55]]) 

def get_value(t1,t2):
    return a[t1][t2]

get_value(0, 1) #results 2
0 голосов
/ 06 июля 2019

Ваш пример - двумерный массив, поэтому вам нужно 2 параметра, чтобы вернуть правильное число, которое вы хотите.Пример: с вашим массивом a=array([[10, 2, 13, 55]]), a[0,0] возвращаем 10, a[0,1] возвращаем 2.

Я рекомендую вам создать одномерный массив, поместить ваш массив в функцию и назвать вашу функцию отличной от вашего массива

from numpy import array
temp=array([10, 2, 13, 55])
def a(arr,t):
    return arr[t]
print(a(temp, 2))

Пример возврата 13

0 голосов
/ 06 июля 2019

Эта функция работает, только если у вас есть массивы формы [[...]], в противном случае вам придется изменить параметр уровня.

from numpy import array
a=array([[10, 2, 13, 55]])
def matrix_reader(a,t,level=0):
    return a[level][t]
matrix_reader(a,1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...