Torka zajedno čuva fiksnu grupu povezanih vrednosti.
Već znate liste, indekse i operacije nad listama. Lista je kolekcija čiji se sadržaj može menjati; torka je fiksna grupa vrednosti koje pripadaju zajedno. Koristite listu za podatke koji se menjaju, kao što je colors = ["red", "green", "blue"]. Koristite torku za jednu stabilnu celinu, kao što je point = (10, 20).
coordinates = (45.26, 19.83)
print(coordinates[0])
print(coordinates[1])Torka se obično zapisuje vrednostima razdvojenim zarezima, često unutar (). Njene vrednosti su uređeni elementi sa poznatim pozicijama: indeks 0 bira prvi element, a indeks 1 drugi. Indeksiranje radi isto kao i kod lista.
45.26
19.83Važna razlika je u tome što je torka nepromenljiva: možete je čitati, indeksirati i raspakovati, ali ne možete zameniti postojeći element. Zato su torke korisne za stabilne grupe kao što su koordinate, datumska vrednost ili RGB boja.
Birajte prema nameri: Koristite listu kada elemente treba dodati, ukloniti ili zameniti. Koristite torku kada vrednosti čine jednu fiksnu grupu, njihove pozicije imaju značenje i ne nameravate da menjate pojedinačne elemente.
coordinates = (45.26, 19.83)
latitude, longitude = coordinates
print(latitude)
print(longitude)Python povezuje vrednosti torke sa promenljivama prema poziciji: prva vrednost ide u latitude, a druga u longitude. Broj vrednosti i promenljivih mora da se poklopi, zato x, y = point radi za point = (10, 20), dok x, y, z = point ne radi.
coordinates = (45.26, 19.83)
coordinates[0] = 50Ovo izaziva TypeError. Torku možete čitati, indeksirati i raspakovati, ali njene postojeće elemente ne možete zameniti dodelom.
point = (10, 20)
x, y = point
x = 99
print(point)
print(x)x najpre dobija vrednost 10. Posle x = 99, ime x se odnosi na 99; ne vraća se unazad da promeni point. Torka je i dalje (10, 20), baš kao što dodela u lekciji Promenljive menja vrednost na koju se ime odnosi.
not_a_tuple = (5)
one_item_tuple = (5,)Zarez pravi torku sa jednim elementom. (5) je samo vrednost 5 unutar zagrada, dok je (5,) torka koja sadrži jedan element.
point = (4, 7)
print(point[0])
x, y = point
x = 10
print(x)
print(y)
print(point)Zastanite pre pokretanja. point[0] je 4; raspakivanje daje promenljivoj x vrednost 4, a promenljivoj y vrednost 7. Zatim x = 10 menja samo tu promenljivu. Konačni izlaz je 4, 10, 7 i (4, 7).
Česte početničke greške
- Tretiranje torke kao promenljive liste
point[0] = 5izazivaTypeErrorzato što se postojeći element torke ne može zameniti. - Mišljenje da same zagrade prave torku sa jednim elementom
(5)je vrednost5;(5,)je torka sa jednim elementom. - Raspakivanje u pogrešan broj promenljivihTorka sa dve vrednosti zahteva dve promenljive koje ih primaju. Python ne može povezati
x, y, zsa(10, 20). - Mišljenje da raspakovana promenljiva menja torkuPromena
xposlex, y = pointmenja imex, a ne originalnu torku.
