# data[].attributes.body
definicija prazne liste

# data[].attributes.body
>>> lista=[1,2,3,4,5,6,7,8]
>>> lista[1:7:2]
[2, 4, 6]

A - indeks od kojeg kreće izdvajanje elemenata
B - indeks do kojeg se ide, ne uključujući taj element
C - korak

# data[].attributes.body
iteriranje for petljom kroz sve elemente liste

lista=[1,2,3,4,5]
for el in lista:
    print(el)

# data[].attributes.body
Dvodimenzionalna lista = lista od lista = ugniježdene liste

lista = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
lista = [ ["A", "B"], [13, 17], [14, 15, 16] ]

Trodimenzionalna lista bila bi lista od lista od lista, itd. analogno za N-tu dimenziju.

Lista N x M dimenzija (pravokutnog oblika) = matrica

# data[].attributes.body
petlja = iteracija

Pomoću indeksa

a = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]
for i in range(len(a)):
    for j in range(len(a[i])):
        print(a[i][j], end=' ')
    print()

Pomoću izravnog dohvaćanja elemenata

L = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]
for podlista in L:
    for element in podlista:
        print(element, end=' ')
    print()

# data[].attributes.body
definiranje praznog stringa

# data[].attributes.body
if nešto in lista:
    pass

Primjeri...

>>> X = [3,4,5,2,7]
>>> 5 in X
True
>>> 8 in X
False

# data[].attributes.body
(metode se pišu nakon naziva liste s  točkom i obaveznim oblim zagradama)

# data[].attributes.body
Dodavanje novog elementa x na kraj liste.

# data[].attributes.body
Na kraj liste dodaje elemente druge liste (L).

# data[].attributes.body
Uzima element s indeksom in iz liste te ga vraća kao rezultat. Ako se ne napiše argument (prazne zagrade), uzima zadnji element iz liste. Taj element se nakon ove funkcije više ne nalazi u listi, tj. izbrisan je iz nje.

# data[].attributes.body
Omogućuje da unutar liste ubacimo element na poziciju određenu indeksom. Potrebna su dva argumenta unutar zagrada, indeks in i element x koji želimo unijeti na indeks in. U skladu s time, elementi nakon te pozicije u listi pomiču se za jedno mjesto u desno.

# data[].attributes.body
U listi traži vrijednost x i vraća indeks pozicije na kojoj se on nalazi.

# data[].attributes.body
U listi prebrojava pojavljivanje vrijednosti x.

# data[].attributes.body
U listi briše prvi element koji ima vrijednost jednaku x.
Za brisanje na konkretnom indeksu, treba koristiti funkciju del.

# data[].attributes.body
Briše sve elemente liste. Ne treba argument (ne piše se ništa u zagrade)

# data[].attributes.body
izbacuje duljinu liste, tj. broj elemenata liste

prazna lista je duljine 0

# data[].attributes.body
Mijenja poredak liste u suprotni (inverzni). Ne treba argument.

# data[].attributes.headline
del - BRISANJE CIJELE LISTE ILI ELEMENTA

# data[].attributes.subject
del - BRISANJE CIJELE LISTE ILI ELEMENTA

# data[].attributes.body
briše element iz liste na određenom indeksu

npr. del lista - izbrisat će cijeli listu (ne isprazniti, nego obrisati)

npr. del lista[0] - izbrisat će prvi element u listi

za brisanje elementa na temelju njegove vrijednosti, a ne indeksa, pogledati metodu remove u stupcu pokraj

# data[].attributes.body
Sortira listu. Ne treba argument.

lista2=lista1.sort() neće napraviti sortiranu kopiju liste1, nego će izvesti sortiranje liste1, a varijabla lista2 nema nikakvu vrijednost

# data[].attributes.body
Stvaranje kopije liste. Npr. lista2=lista1.copy()
drugi način: lista2=lista1[:]

# data[].attributes.body
Podijeli string na elemente liste na temelju nekog podstringa, npr. razmaka:

>>> R = "Python je cool."
>>> R = R.split(" ")
>>> R
['Python', 'je', 'cool.']

Primjer2:

>>> "ananasbanana".split("a")
['', 'n', 'n', 'sb', 'n', 'n', '']

# data[].attributes.body
1. lista2=lista1 - stvara kopiju liste na način da su lista1 i lista2 povezane, tj. što se dešava s jednom, desit će se i s drugom

2. lista2=lista1[:] - stvara neovisnu kopiju liste, novi objekt

3. metoda .copy()

# data[].attributes.body
Prvi znak u stringu pretvara u veliko slovo

# data[].attributes.body
Svaka riječ započinje velikim slovom i ostala slova su mala
Preciznije: pronalazi nizove slova (između nizova slova može se nalaziti bilo što drugo što nije slovo (jedan znak ili niz znakova koji nisu slova)) i povećava početno slovo u svakom takvom odvojenom nizu.

# data[].attributes.body
Sva slova velika, odnosno mala

# data[].attributes.body
Velika slova zamijeni malim i obratno

# data[].attributes.body
Centrira string i okolinu (redak) do zadane duljine ispunjava zadanim znakom

# data[].attributes.body
Poravnava lijevo, odnosno desno, i do zadane duljine popunjava zadanim znakom

# data[].attributes.body
s.find( s1, start, stop )

pronalazi i vraća indeks stringa s1 u stringu s od indeksa start do stop

vraća indeks prvog znaka u stringu s1

dok ne pronađe traženi string s1, izbacuje -1

# data[].attributes.body
isto kao metoda .find() ali neće izbaciti -1 u slučaju nepronalaska nego ValueError

# data[].attributes.body
s.rfind(s1)

traži s desne strane

vraća indeks zadnje pojave traženog stringa s1

Napomena: Običan find() je zapravo lfind() (left-find)pa nema potrebe i za lfind().

# data[].attributes.body
s.replace(s1, s2, koliko)

zamjenjuje s1 sa s2 toliko koliko puta želiš

# data[].attributes.body
provjeravaju je li string broj, alfanumerički (kombinacija 0-N slova i 0-N brojeva) ili samo alfabetski (samo slova)

izbacuju True ili False

>>> R="325"
>>> R.isdigit()
True
>>> R="Žnjmk"
>>> R.isalpha()
True

# data[].attributes.body
vraća novu, sortiranu listu

lista2 = sorted(lista1)

prva, lista1, u tom slučaju ostaje nesortirana

razlika u odnosu na metodu .sort()

Za sortiranje u obrnutom poretku, dodati parametar reverse=True

lista2= sorted(lista1, reverse=True)

# data[].attributes.body
Piše se u kombinaciji sa min, max, sorted.

lista2= sorted(lista1, key=itemgetter(indeks))

# data[].attributes.body
vraća novu listu s obrnutim poretkom elemenata

lista2 = reversed(lista1)

prva, lista1, u tom slučaju ostaje u originalnom poretku

razlika u odnosu na metodu .reverse()

# data[].attributes.body
set = sortirani skup koji nema ponavljanja u elementima

# data[].attributes.body
Definiranje praznog skupa

Napomena: ne može se pisati skup={} jer vitičaste zagrade definiraju rječnik

# data[].attributes.body
if skup==set():

ili

if len(skup)==0:

# data[].attributes.headline
izbacivanje ponavljajućih elemenata iz obične liste uz pomoć funkcije set()

# data[].attributes.subject
izbacivanje ponavljajućih elemenata iz obične liste uz pomoć funkcije set()

# data[].attributes.body
lista = [1,1,1,2,2,3,4]
lista = set(lista)

funkcijom set() listu pretvaramo u {1,2,3,4}

# data[].attributes.body
>>> niz=(1,2,3,4,5)
>>> niz2=(6,7)
>>> niz+niz2
(1, 2, 3, 4, 5, 6, 7)

Tuple je nepromjenljiv niz

piše se oblim zagradama i za razliku od lista

elementi se ne mogu mijenjati.

# data[].attributes.body
Dodavanje novog elementa x na kraj seta.

# data[].attributes.body
Uzima zajedničke elemente iz dvije liste i stvara novu listu

simbol &

>>> x={1,2,3}
>>> y={3,5,2,4}
>>> x.intersection(y)
{2,3}
>>> x&y
{2,3}

# data[].attributes.body
Vraća sve elemente dvije liste.

simbol | (tipke AltGr + W)

>>> a={1,2,3}
>>> b={"k",3,4}
>>> a.union(b)
{1, 2, 3, 'k', 4}
>>> a | b
{1, 2, 3, 'k', 4}

# data[].attributes.body
Vraća razliku dvaju lista, tj. elemente koji postoje u jednoj listi, a u drugoj ne.

simbol -

>>> a={1,2,3,4,5}
>>> b={9,8,7,2,1}
>>> a.difference(b)
{3, 4, 5}

>>> b.difference(a)
{8, 9, 7}
>>>
>>> a-b
{3, 4, 5}
>>> b-a
{8, 9, 7}

# data[].attributes.body
Podjela stringa na svaki pojedinačni znak na ovaj način (ništa pod navodnicima) neće raditi!
U tu svrhu koristi funkciju list():

>>> list("Slova")
['S', 'l', 'o', 'v', 'a']

# data[].attributes.body
Spaja elemente liste tipa string u jedan veliki string! Spaja, tj. između stavlja željeni podstring. Ispred metode join treba pod navodnicima napisati čime se spaja, a u zagrade listu ili set (lista/set od isključivo stringova!).
Primjer

>>> lista = ["3","4","7","6","8"]
>>> " ".join(lista)
'3 4 7 6 8'
>>> "+".join(lista)
'3+4+7+6+8'

Primjer 2

>>> el = ["a", "", "s"]
>>> "na".join(el)
'ananas'
Primjer 3 sa setom
>>> skup={"A", "B", "C"}
>>> ".".join(skup)
'B.A.C'

# data[].attributes.headline
Jedine dvije metode za rad nad tupleom count i index

# data[].attributes.subject
Jedine dvije metode za rad nad tupleom count i index

# data[].attributes.body
>>> T = (1,2,3,3)
>>> T.index(3)
2
>>> T.index(1)
0
>>> T.count(3)
2
>>> T.count(4)
0

# data[].attributes.body
Unos stringa:

input()

Unos cijelog broja:

int(input())

Unos decimalnog broja:

float(input())

Unos liste (razbijanje stringa u listu, znak po znak):

list(input())
Unos seta (razbijanje stringa u set, znak po znak):

set(input())

# data[].attributes.body
spaja svaki i-ti element dviju lista

>>> A = [1,3,5]
>>> B = [2,4,6]
>>> list(zip(A,B))
[(1, 2), (3, 4), (5, 6)]

# data[].attributes.body
>>> skup={"A", "B", "C"}
>>> ".".join(skup)
'B.A.C'

# data[].attributes.headline
Ispis elemenata skupa u jednom retku, odvojeni razmakom

# data[].attributes.subject
Ispis elemenata skupa u jednom retku, odvojeni razmakom

# data[].attributes.body
z = set() #prazan skup

Popunjavanja s brojevima 1-10

for i in range(1,11):
    z.add(i) #popunjava

Ispis

for el in z:
    print(el, end=" ")

Rezultat

>>>
1 2 3 4 5 6 7 8 9 10
>>>

# data[].attributes.body
rječnik = tip podataka koji sadrži kolekciju vrijednosti oblika ključ:vrijednost

Prazan rječnik:

rjecnik={}

Rječnik s dva para ključ-vrijednost:

rjecnik={350:”Informatika”, 123:”Kemija”}

# data[].attributes.body
preko ključa! (nema indeksa!)

# data[].attributes.body
rjecnik[kljuc] = vrijednost

ako ključ već postoji u rječniku, nova vrijednost će biti dodana na njegovo mjesto, a stara izbrisana

# data[].attributes.headline
Provjera ima li ključa već u rječniku (sprječavanje grešaka)

# data[].attributes.subject
Provjera ima li ključa već u rječniku (sprječavanje grešaka)

# data[].attributes.body
if kljuc in rjecnik:
if kljuc not in rjecnik:

# data[].attributes.body
del(rjecnik[kljuc])

# data[].attributes.body
del(rjecnik)

# data[].attributes.headline
.pop() - brisanje elementa i vraćanje vrijednosti

# data[].attributes.subject
.pop() - brisanje elementa i vraćanje vrijednosti

# data[].attributes.body
Briše element čiji je ključ upisan u zagrade. Metoda vraća pripadajuću vrijednost (može se kasnije dohvatiti).

>>> R= {3:5, 6:9, 7:1}
>>> A = R.pop(6)
9
>>> R
{3:5, 7:1}
>>> A
9

# data[].attributes.body
rjecnik.clear()

# data[].attributes.headline
for petlja - dohvaćanje parova ključ:vrijednost

# data[].attributes.subject
for petlja - dohvaćanje parova ključ:vrijednost

# data[].attributes.body
metoda items()

# data[].attributes.body
provjera je li znak malo (lower) ili veliko slovo()

izbacuje True ili False

za sve znakove koji nisu slova izbacuje False

# data[].attributes.body
len(skup)

>>> s={4,8,1}
>>> len(s)
3

# data[].attributes.body
rjecnik.keys()

# data[].attributes.body
rjecnik.values()

# data[].attributes.body
koristiti funkciju type

>>> a = 3.14
>>> b = {}
>>> type(a), type(b)
(<class 'float'>, <class 'dict'>)

if type(a) != float:
  print("Nije decimalni!")
else: print("Decimalni!")