Isecanje liste

Ako želimo da iz liste uzmemo samo neke elemente, mozemo koristiti sledeću notaciju da to uradimo. Naredbom lista[a:b] ćemo uzeti deo liste, koji počinje indeksom a, a završava se pre elementa b.

  
odmor = ['plaza', 'sunce', 'naocare', 'sesir', 'more', 'pasos']
pocetak = odmor[0:2]
sredina = odmor[2:4]
kraj = odmor[4:6]
print(pocetak)
print(sredina)
print(kraj)
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>  ['plaza', 'sunce']

>>  ['naocare', 'sesir']

>>  ['more', 'pasos']


Ako hoćemo da isecanjem uzmemo prvi ili poslednji član niza, onda ostavljamo prazno mesto između uglastih zagrada.

  
zivotinje = ['macka', 'kokoska', 'krava', 'pas']
print(zivotinje[:2])
print(zivotinje[1:]) 
         
Kopiraj

Isecanje liste može imati i treći argument. On označava korak, odnosno koliko elemenata preskačemo.

  
brojevi = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(brojevi[1:7:2]) 
print(brojevi[::2]) 
            
Kopiraj

Primetimo da ćemo naredbom brojevi[1:7:2] dobiti sve neparne brojeve do broja 7, a naredbom brojevi[::2] dobijamo sve parne brojeve do kraja liste.

Isecanje liste takođe može da se vrši i od pozadi koristeći negativne indekse.

  
brojevi = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(brojevi[-5:-1])
print(brojevi[-5:])
print(brojevi[10:0:-2]) 
print(brojevi[::-1])
            
Kopiraj

Bliže ćemo objasniti samo poslednje dve naredbe. Naredbom brojevi[10:0:-2]uzimamo vrednosti brojeći od pozicije 10, sa korakom -2, do nulte pozicije(ali bez tog člana). Dok poslednjom naredbom, brojevi[::-1] invertujemo listu.

Više o isecanju

U ovom delu navešćemo još jedan način za ubacivanje i brisanje elemenata iz liste. Elemente iz liste brišemo tako što ih postavimo na praznu listu. Sledeći primer će bliže pokazati kako to funkcioniše.

  
recenica = ['Matematika', 'je', 'moj', 'omiljeni', 'skolski','predmet']
recenica[2:4] = []
print(recenica)
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>  ['Matematika', 'je', 'skolski', 'predmet']


Elemente ubacujemo u listu tako što u uglastim zagradama navodimo između kojih elemenata želimo da ubacimo nove elemente.

  
brojevi = [1, 2, 3, 7, 8, 9]
brojevi[2:2] = [4 , 5, 6]
print(brojevi)
            
Kopiraj

Nakon pokretanja programa kao rezultat dobićemo:


>>   [1, 2, 3, 4, 5, 6, 7, 8, 9]