Bir işlevden çok sayıda çıktınız varsa ve bunu birden çok kez çağırmak istemiyorsanız, sonuçları seçmenin en net yolunun şöyle olacağını düşünüyorum:
results = fct()
a,b = [results[i] for i in list_of_index]
Minimum çalışma örneği olarak, işlevin yalnızca bir kez çağrıldığını da gösterir:
def fct(a):
b=a*2
c=a+2
d=a+b
e=b*2
f=a*a
print("fct called")
return[a,b,c,d,e,f]
results=fct(3)
> fct called
x,y = [results[i] for i in [1,4]]
Ve değerler beklendiği gibi:
results
> [3,6,5,9,12,9]
x
> 6
y
> 12
Kolaylık sağlamak için Python listesi dizinleri de kullanılabilir:
x,y = [results[i] for i in [0,-2]]
İade: a = 3 ve b = 12
~