2014-01-12 2 views
0

У меня есть функция, возвращающая 3 2-х кортежа. Каков наилучший способ вызвать функцию и назначить значения 1, 2, 3 для каждого кортежа, чтобы я мог печатать, скажем, (y1, y2)? Я не мог найти ответы, которые помогли мне дальше; благодаря!Назначение переменных нескольким двум кортежам, возвращаемым из функции в Python

def function(x, y, z, t): 
    x1 = 
    x2 = 
    ... 
    z2 = 
    return (x1, x2), (y1, y2), (z1, z2) 

Values1, Values2, Values3 = function(x, y, z, t) 
+2

Что случилось с тем, что у вас есть? –

+0

Альтернативно, что не так с 'Values ​​= function (x, y, z, t)' (кроме слишком общего имени)? Обычно, когда у вас есть куча имен переменных с номерами в конце, вам действительно нужен список или словарь или что-то в этом роде. – DSM

ответ

0

Что такое лучший способ вызвать функцию и назначить Values1, Values2, Значение 3 для каждого кортежа, так что я могу напечатать, скажем, (y1, y2) только

Если вы заинтересованы только в (y1, y2) и хотел бы игнорировать другие элементы кортежа, общая конвенция является использование _ (как Выбросьте имя переменной)

_, (y1, y2), _ = function(x, y, z, t) 

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

value = function(x, y, z, t) 
(y1, y2) = value[1] 
+0

Можно напрямую индексировать возвращаемое значение функции. –

+0

Спасибо всем, что помогло! – jap

Смежные вопросы