✦ Osnove Pythona Kolekcije

Koncept 07 · Indeksiranje i izdvajanje delova

Pronađite jednu stavku.
Izdvojite koristan deo liste.

Indeksi biraju jedan element liste; slice bira uređeni deo liste.

01 Uči02 Isprobaj03 Predvidi

Učenje kao gost

Učiš kao gost — sačuvaj svoj napredak!

Napravi besplatan nalog i uči uz Sloby AI mentora, proveru razumevanja i praćenje napretka.

Cela platforma je besplatna tokom 2026. Foundations ostaje zauvek besplatan.

Indeks bira jednu poziciju. Slice bira uređeni deo.

U lekciji Liste naučili ste da svaki element ima poziciju. Indeksiranje vam omogućava da izaberete jednu od tih pozicija. Slicing vam omogućava da izaberete opseg pozicija i daje novu listu sa izabranim vrednostima. Zamislite: indeks → jedna pozicija → jedna vrednost; slice → opseg pozicija → nova lista.

numbers = [10, 20, 30, 40, 50]

print(numbers[2])

Python broji pozicije liste od 0: numbers[0] je 10, numbers[1] je 20, a numbers[4] je 50. U numbers[2], 2 je pozicija, a ne vrednost koju želite. Pratite putanju: numbers → indeks 2 → vrednost 30.

30

Pozitivni indeksi broje od početka. Negativni indeksi broje od kraja. Slice koristi start:stop:step: početna pozicija je uključena, ali krajnja granica nije uključena.

↳

Korisna mapa: vrednosti:   10   20   30   40   50
pozitivni indeksi: 0    1    2    3    4
negativni indeksi: -5   -4   -3   -2   -1

Negativni indeksi broje od kraja
numbers = [10, 20, 30, 40, 50]

print(numbers[-1])
print(numbers[-2])

-1 bira poslednji element, pa ispisuje 50. -2 bira element pre poslednjeg, pa ispisuje 40. Zapamtite: -1 → poslednji element; -2 → jedan element pre poslednjeg.

Indeksiranje bira jednu vrednost; slicing pravi novu listu
numbers = [10, 20, 30, 40, 50]

print(numbers[2])
print(numbers[1:4])

numbers[2] bira jednu poziciju i daje jednu vrednost: 30. numbers[1:4] bira uređeni opseg pozicija i daje novu listu: [20, 30, 40]. Indeksiranje služi za jedan element; slicing služi za izabrani deo liste.

Početna granica je uključena; krajnja nije
numbers = [10, 20, 30, 40, 50]

print(numbers[1:4])

numbers[1:4] čitajte kao „počnite od indeksa 1 i stanite pre indeksa 4“. Python uzima pozicije 1, 2 i 3, koje sadrže 20, 30 i 40. Ne uzima vrednost na indeksu 4. Tako je dužina slice-a predvidiva: 4 - 1 = 3 izabrana elementa.

Izostavite početnu granicu da biste počeli od prvog elementa
numbers = [10, 20, 30, 40, 50]

print(numbers[:3])

Bez početne granice, numbers[:3] počinje od prvog elementa i staje pre indeksa 3. Rezultat je [10, 20, 30].

Izostavite krajnju granicu da biste nastavili do kraja
numbers = [10, 20, 30, 40, 50]

print(numbers[2:])

Bez krajnje granice, numbers[2:] počinje od indeksa 2 i nastavlja do kraja. Rezultat je [30, 40, 50]. Bez obe granice, numbers[:] bira celu listu i pravi novu listu sa svim njenim elementima.

Koristite korak da uzmete svaki drugi element
numbers = [10, 20, 30, 40, 50]

print(numbers[::2])

Tri dela slice-a su start:stop:step. Ovde su start i stop izostavljeni, pa Python koristi celu listu. Korak 2 uzima svaki drugi element: [10, 30, 50]. Korak 1 znači svaki element; korak 2 znači svaki drugi element.

Nedostajući indeks i širok slice ponašaju se različito
numbers = [10, 20, 30]

# numbers[10] raises IndexError
print(numbers[:10])

Indeksiranje traži jednu tačnu poziciju, zato numbers[10] izaziva IndexError kada ta pozicija ne postoji. Slice može bezbedno da pređe dostupne pozicije: numbers[:10] jednostavno uzima dostupne elemente i daje [10, 20, 30].

Pratite indekse i granice pre pokretanja
scores = [12, 24, 36, 48, 60]

print(scores[2])
print(scores[-1])
print(scores[1:4])
print(scores[:2])

Pre pokretanja ovog koda predvidite četiri rezultata: vrednost na indeksu 2, poslednju vrednost, pozicije koje uključuje [1:4] i rezultat izraza [:2]. Izlazi su 36, 60, [24, 36, 48] i [12, 24]. Pratite pozicije i granice umesto da nagađate.

Česte početničke greške

  • Tumačenje indeksa kao vrednostiZa numbers = [10, 20, 30], numbers[1] ne traži broj 1. 1 je pozicija, a izabrana vrednost je 20.
  • Uključivanje krajnje pozicijenumbers[1:4] ne uključuje element na indeksu 4. Neka pravilo bude jednostavno: početak je uključen; kraj nije uključen.
  • Pretpostavka da -1 znači prvi element-1 znači poslednji element. Negativni indeksi broje unazad od kraja liste.
  • Očekivanje da indeks i slice isto obrađuju nepostojeće pozicijeNedostajući indeks može izazvati IndexError; slice koji prelazi kraj liste jednostavno koristi elemente koji postoje.

Python radni prostor

Učitavanje Python okruženja…

Pre pokretanja koda predvidite svaki rezultat. Odlučite da li svaka linija koristi indeks ili slice; za slice navedite početnu i krajnju granicu. Zatim promenite jednu granicu, isprobajte drugi negativni indeks, promenite korak i uporedite izlaz sa predviđanjem.

indexing_slicing.pyPython
IzlazČeka se Python
Okruženje pregledača se učitava. I dalje možeš da menjaš primer koda.

Pyodide pokreće Python u Web Worker-u pregledača. Zaustavlja se i ponovo pokreće ako se kod predugo izvršava. Izvršavanje u pregledaču nije potpuna bezbednosna granica; ne unosi tajne i ne oslanjaj se na njega za izolaciju nepouzdanog koda.

Šta će ovaj program ispisati?

Krajnji indeks nije uključen u slice.

letters = ["a", "b", "c", "d", "e"]
print(letters[1:4])
Izaberi izlaz
Sloby, maskota Python AI Tutora

Tvoj mentor za učenje

Prijavite se da pitate Slobyja

Napravite besplatan nalog ili se prijavite za AI smernice tokom učenja.

Prijavite se da proverite svoje razumevanje

Napravite besplatan nalog ili se prijavite da biste dobili AI povratnu informaciju i sačuvali napredak u učenju.

Python AI Tutor · Uči razumevanjem, a ne samo pokretanjem koda.