Middle
a = 4 b = [4] eredmény = (a, b) a = 5 b.append(5) Kérdés: mi az eredmény értéke az összes sor végrehajtása után és miért?
sobes.tech MI
Válasz az MI-től
Az összes sor végrehajtása után a result változó értéke (4, [4, 5]) lesz.
Magyarázat:
- A
result = (a, b)sorban egy tuple jön létre, ahol azaértéke 4, abpedig egy hivatkozás az[4]listára. - Ezután az
aértéke 5-re változik, de ez nem befolyásolja a már létrehozott tuple-t, mivel a számok immutable objektumok, és a tuple-ban az érték 4 van tárolva. - A
b.append(5)hívás módosítja ablistát helyben, hozzáadva az 5-öst. - Mivel a tuple tartalmaz egy hivatkozást a
blistára, a lista változásai megjelennek a tuple-ban is.
Eredmény:
result == (4, [4, 5]) # True