Uvod u jezik PYTHON

(priručnik za  predmet "Skript jezici")


© Matematički fakultet

Miljana Mladenović, Duško Vitas

O Python-u
Instalacija
Sintaksa jezika Python
Osnovne osobine
Službene reči
Operatori i njihovi prioriteti
Osnovne algoritamske strukture
Blok naredbi
if struktura
while struktura
Iskazi: break, continue, pass
Tipovi podataka u Python-u
Osnovni i ugradjeni tipovi
Brojevi
Konverzija formata
Neke matematičke funkcije
Neke random funkcije
Niske
Neke funkcije nad niskama
Formatiranje niski
Liste
Torke
Osnovni izrazi sa torkama
Rečnici
Skupovi
Operacije nad skupovima
Datoteke
Funkcije modula os za rad sa datotekama
Funkcije modula os za rad sa folderima
Izuzeci
Funkcije
Moduli
Paketi
Klase
Regularni izrazi
Baze podataka
Primeri u Netbeans-u

Liste

 

 

Lista je promenljiv uređeni niz objekata koji predstavljaju njene članove. Čanovi liste mogu biti različitog tipa podataka. Smeštaju se unutar uglastih zagrada [ ], a odvajaju zarezom ( , ). Iza zadnjeg člana liste takođe se može navesti znak zarez ( , ). Prazna lista se označava parom praznih uglastih zagrada. Članovi liste se indeksiraju na isti način kao niske, počev od indeksa nula (0).

   

[56, -1,  3.14, 'Pera']      #lista od 4 člana

[“neki tekst”]               #lista od jednog člana

[“podne“,  [23,'xz'], -31j] #složena lista od 3 člana čiji je drugi član

                             #takođe lista-dvočlana

[ ]                          #prazna lista

   

   

<lista>[<indeks>] , <lista>[<početniIndex>:<završniIndex+1>]

Pristup listi:

>>>lista1 = ['jabuka', 'kruska', 21, 17, 33.5]

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

>>>print "lista1[0]: ", lista1[0]

lista1[0]:  jabuka

>>>print "lista2[1:5]: ", lista2[1:5]

lista2[1:5]:  [2, 3, 4, 5]

   

len(<lista>)  Broj članova liste

>>> listaPrva = ["ovo", "je", "jedna", "lista"]

>>> print "stampa svih clanova liste listaPrva, navodjenjem imena liste - ", listaPrva

>>> print "broj clanova liste je " ,  len(listaPrva)

>>> print "stampa svih clanova liste listaPrva formiranjem while petlje "

>>> index=0

>>>while index < len(listaPrva):

. . .     print listaPrva[index]

. . .     index = index + 1

ovo

je

jedna

lista

   

list()  Generisanje liste:

>>> a="ovo"

>>> b="je"

>>> c="generisana"

>>> d="lista"

>>> d=[a,b,c,d]          #lista generisana nabrajanjem članova 

>>> print d

['ovo', 'je', 'generisana', 'lista']

>>> print type(d)

<type 'list'>

>>> e=list(c1)           #lista generisana pozivom funkcije list()

>>> print e

>>> print type(e)

<type 'list'>

   

<lista>.index(<element>) = <vrednost> , <lista>[<početniIndex>:<završniIndex+1>] = <vrednost>

   

Izmena vrednosti članova liste:

>>> lista=['ovo', 'je', 'jedna', 'lista']

>>> lista[2]= 'druga'

>>> print lista

 ['ovo', 'je', 'druga', 'lista']

>>> lista[2:]= 'nova lista'

>>> print "lista kojoj je promenjena struktura=", lista

lista kojoj je promenjena struktura=['ovo', 'je', 'n', 'o', 'v', 'a', '  ', 'l', 'i', 's', 't', 'a']

   

Dodavanje članova u listu:

<lista>.append(<element>), <lista>.extend(<elementi>)  

>>> lista=['ovo', 'je', 'jedna', 'lista']

>>> lista.append("i dodati clan")

>>> lista.insert(2,"umetnuti clan") #umetanje člana pre člana sa  navedenim indeksom

>>> print lista

['ovo', 'je', 'umetnuti clan', 'jedna', 'lista', 'i dodati clan']

   

del <lista>[<indeks>] ,   del <lista>[<početniIndex>:<završniIndex+1>], <lista>.pop (<index>)  , <lista>[<početniIndex>:<završniIndex+1>] = [],  <lista>.remove([<vrednost>])  Brisanje članova  liste:

>>> lista=['ovo', 'je', 'umetnuti clan', 'jedna', 'lista', 'i dodati clan']

>>> del lista[2]

>>> print lista

['ovo', 'je', 'jedna', 'lista', 'i dodati clan']

>>> lista.pop()

['ovo', 'je', 'jedna', 'lista']       #uklanja poslednji član liste

>>> lista.pop(1)         #uklanja član liste sa datim indeksom

['ovo', 'jedna', 'lista']

>> del lista[1:]         #briše sve članove od drugog do kraja liste

['ovo']

>>> lista.remove("ovo")   #brisanje člana liste po vrednosti

[ ] 

<lista> + <lista> , <lista>.append(<element>) , <lista>.extend(<elementi>)  Nadovezivanje listi:

>>> listaPrva = ["ovo", "je", "prva", "lista"]

>>> listaDruga = ["ovo", "je", "druga", "lista"]

>>> print listaPrva + listaDruga

['ovo', 'je', 'jedna', 'lista', 'ovo', 'je', 'druga', 'lista']

# može i ovako

>>> listaPrva.extend(listaDruga)

>>> print listaPrva

['ovo', 'je', 'jedna', 'lista', 'ovo', 'je', 'druga', 'lista']

 

<lista>.count(<vrednost>) Broj pojavljivanja istog člana u listi:

>>> listaPrva = ["ovo", "je", "prva", "lista"]

>>> listaDruga = ["ovo", "je", "druga", "lista"]

>>> listatreca= listaPrva + listaDruga

>>> print listatreca.count('je')

2

   

Kreiranje liste čiji su članovi takođe liste:

>>> listaPrva = ["ovo", "je", "prva", "lista"]

>>> listaNova= [[1,1],listaPrva]

>>> print listaNova

[[1, 1], ['ovo', 'je', 'prva', 'lista']]

   

Višedimenzione liste:

>>> listaPrva = ["ovo", "je", "prva", "lista"]

>>> listaNova= [[1,1],listaPrva]

>>> print listaNova

[[1, 1], ['ovo', 'je', 'prva', 'lista']]

 

<lista> * <broj>     Multipliciranje listi:

>>> listaPrva=["ovo", "je", "prva", "lista"]

>>> print "proizvod clana liste  i celog broja : listaPrva[0] * 2= ", \ listaPrva[0] * 2

proizvod clana liste  i celog broja : listaPrva[0] * 2= ovoovo

   

<lista>.index(<element>)     Indeks tražene vrednosti člana liste:

>>> listaPrva=["ovo", "je", "prva", "lista"]

>>> print "indeks trazene reci 'je' u listi listaPrva - ", \ listaPrva.index("je")

1

   

   

Podlista date liste:

<lista>[<početniIndex>:<završniIndex+1>]  

>>> print "podlista liste listaPrva - listaPrva[1:3] je ", listaPrva[1:3]

podlista liste listaPrva - listaPrva[1:3] je  ["je","prva"]

# uključena donja granica, a gornja nije

   

>>> print "podlista od datog indeksa do kraja liste - listaPrva [2:]=", \ listaPrva[2:]

podlista od datog indeksa do kraja liste - listaPrva [2:]=["prva","lista"]

>>> print "podlista od pocetka liste do datog indeksa listaPrva[:3]=", \ listaPrva[:3]

podlista od pocetka liste do datog indeksa listaPrva[:3]=["ovo", "je", "prva"]

# gornja granica nije uključena

>>> print "podlista duzine 1 clan od kraja liste udesno - listaPrva[-1]=", \ listaPrva[-1]

podlista duzine 1 clan od kraja liste udesno - listaPrva[-1]=lista

>>> print "podlista duzine 2 clana od kraja liste udesno - listaPrva[-2:]=", \ listaPrva[-2]

podlista duzine 2 clana od kraja liste udesno - listaPrva[-2:]=[ "prva", "lista"]

 

Provera pripadnosti listi:

<element> in <lista>   

>>> print "provera da li je neka vrednost elemenat  liste"

>>> print "jedna" in listaPrva

False

>>> print "prva" in listaPrva

True

>>> print "Prva" in listaPrva

False

>>> print "daje vrednost true(1), ako jeste u listi, odnosno false(0), ako nije"

 

Provera nepripadnosti listi:

<element> not in <lista> 

>>> print "provera da li  neka vrednost nije elemenat  liste"

>>> print "jedna" not in listaPrva

True

>>> print "prva" in listaPrva

False

>>> print "daje vrednost true(1), ako nije u listi, odnosno false(0), ako jeste"

 

 

Sortiranje liste:

<lista>.sort() ,  <lista>.reverse()   

>>> listaImena= ["Pera", "Mika", "Aca", "Laza", "Goca", "Coca", "ceca", "Caca"]

>>> print "listaImena nesortirano ", listaImena

listaImena nesortirano  ['Pera', 'Mika', 'Aca', 'Laza', 'Goca', 'Coca', 'ceca', 'Caca']

>>> listaImena.sort()

>>> sortRastImena=sorted(listaImena)

>>> print "sortirano rastuce ", sortRastImena

sortirano rastuce  ['Aca', 'Caca', 'Coca', 'Goca', 'Laza', 'Mika', 'Pera', 'ceca']

>>> listaImena.reverse()

>>> sortOpadImena=sorted(listaImena,reverse=True)

>>> print "sortirano opadajuce ", sortOpadImena

sortirano opadajuce  ['ceca', 'Pera', 'Mika', 'Laza', 'Goca', 'Coca', 'Caca', 'Aca']

   

Minimalni i maksimalni član liste:

min(<lista>), max(<lista>)   

>>> lista1=[9, 2, 22, 33, -12, 4]

>>> print "minimalni element liste=", min(lista1)

minimalni element liste= -12

# ako su članovi liste numerici, porede se numerički

   

>>> lista1=[9, 2, 22.3, 22.33,  -12, 4]

>>> print "maksimalni element liste=",max(lista1)

maksimalni element liste= 22.33

# ako su članovi liste numerici, porede se numerički

   

>>> lista2=["ce","2"," 2","33","aca","!","-12"]

>>> print "minimalni element liste=",min(lista2)

minimalni element liste=  2

>>> print "maksimalni element liste=",max(lista2)

maksimalni element liste= ce

#ako su članovi liste alfanumerici, porede se njihove ASCII vrednosti

 

Beograd, novembar 2010.