# liste mogu biti heterogene (sadrzati razlicite tipove
# promenljivih, pa cak i druge ugnjezdene liste
lista = [1,True,'String neki',['a','b']]
print lista

# pristupanje elementima
print lista[0], lista[3][1]
# pristupanje opsegu vrednosti
print lista[0:2]
# pristupanje prvom sa kraja
print lista[-2]
# dodeljivanje opsega vrednosti
lista[0:2]=['Abc',2]
print lista
# nadovezivanje druge liste
lista = lista+lista
print lista

# manipulacija stringovima takodje moze da se vrsi na ovaj nacin
rec = 'Programiranje'
print rec[3:-1]
# ne moze ovako, jer je immutable
#rec[2]='B'
rec = rec.replace('Prog','p')
print rec

# duzina kolekcije
print len(lista)
print len(lista[3])

#iteriranje kroz kolekciju 
for x in lista:
	print x

# pravljenje skupa od liste
lista2 = [3,5,3,7,8,5,34]
skup = set(lista2)
print skup

# uredjene n-torke (tuples)
trojka = ('abc',2,True)
lista3= [3,4,trojka]
print trojka
print lista3
# pristupanje n-torki
print lista3[2][0]

# mapa ili recnik
mapa = {'Kljuc1':35.3,4:'abc'}
print mapa

# pristupanje vrednostima
print mapa['Kljuc1'], mapa[4]

for x in mapa.keys():
	print x

# slicno i za pristupanje kolekciji vrednosti mapa.values()


