Tek geçişte tek bir değer taşımak zorunda değilsin. İkinci en büyüğü bulmak için iki değişken tutarsın: en büyük ve ondan sonra gelen.
best = second = float("-inf")for v in values:if v > best:best, second = v, bestelif v > second:second = vreturn second
a, b = x, y iki değişkeni aynı anda değiştirir; sağ taraf, atamadan önceki değerlerle hesaplanır.float("-inf") her sayıdan küçük bir başlangıç değeridir. Listenin ilk elemanıyla başlayamadığın yerde (iki değişken için tek bir ilk eleman var) işe yarar.