Я определил функцию с двумя выходами и возвращает список.как я могу вызвать один из выходов в функции минимизации? - PullRequest
0 голосов
/ 21 апреля 2019

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

решение = свести к минимуму (цель, ...) Я определил, что цель два возвращает список из двух переменныхНе один.Если определено, что оно возвращает одно значение, код выполняется гладко, иначе он не будет

Ответы [ 2 ]

0 голосов
/ 21 апреля 2019

Несмотря на внешний вид, функция Python не может возвращать два значения.Если эта строка выполняется в функции,

return 1, 2

, то возвращается один кортеж (1, 2).Этот кортеж содержит два значения, но возвращается только одно значение, а именно кортеж.

Если вам нужно только первое из этих значений, индексируйте возвращенный кортеж.В вашем случае, если вам нужно только первое значение в кортеже, возвращаемое из вашей функции objective, используйте

solution = minimize(objective(parameters)[0], moreparameters)

или, если вы хотите второе значение в кортеже,

solution = minimize(objective(parameters)[1], moreparameters)

Если функция objective не имеет параметров, то строка выглядит как

solution = minimize(objective()[0], moreparameters)
0 голосов
/ 21 апреля 2019

Я не могу оставлять комментарии из-за репутации, но должна ли функция objective строго возвращать два значения?В любом случае, вы можете взять желаемое значение из списка:

solution = minimize(objective()[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...