Liste
U ovoj lekciji naučit ćemo sve o listama u Pythonu koje su jako slične nizovima. Liste ne moraju uvijek biti homogene te ih to čini najmoćnijim i najčešće korištenim alatom u Pythonu.
🇭🇷
In Croatian
In Croatian
Practice Known Questions
Stay up to date with your due questions
Complete 5 questions to enable practice
Exams
Exam: Test your skills
Test your skills in exam mode
Learn New Questions
Popular in this course
Learn with flashcards
Manual Mode [BETA]
Select your own question and answer types
Other available modes
Listening & SpellingSpelling: Type what you hear
multiple choiceMultiple choice mode
SpeakingAnswer with voice
Speaking & ListeningPractice pronunciation
TypingTyping only mode
Liste - Leaderboard
You may also like
You may also like:
Liste - Details
Levels:
Questions:
150 questions
🇭🇷 | 🇭🇷 |
Lista (listina ili popis) | Je promjenljiv poredani niz članova objekata |
Članovi u listi | Su bilo kakvi objekti različitih tipova |
Kako se definira lista? | Nabrajanjem članova odijeljenih zarezima (,) i smještenih unutar uglatih zagrada ([ ]). Dopušteno je ostaviti još jedan zarez iza zadnjeg člana liste. |
Kako se dohvaćaju elementi liste? | Elementi liste dohvaćaju se pomoću indeksa, kao i kod dohvaćanja elemenata stringova (kod kojih je osnovni element pojedinačni znak). |
Lista s tri člana - primjer | [42, 3.14, ’zdravo’ ] |
Ugnježđena lista s tri člana - primjer | [’a’, [-45j, ’b’], 4.5] |
Kako se označava prazna lista? | [ ] Prazna lista - Prazna lista se označava praznim parom uglatih zagrada |
Na koji način Python omogućava stvaranje listi? | Na način koji je sličan onome koji se u matematici upotrebljava za definiranje skupova |
Koje funkcije koristi Python za stvaranje listi? | U najjednostavnijem obliku u tu se svrhu mogu koristiti funkcija range(n) i petlja for : lista1= [ i for i in range(20) ] >>>[0,1,2,3,4,5,6,7,8,9,101112,13,14,15,16,17,18,19] |
Funkcija list() | Postoji funkcija list() koja će također stvoriti listu. Pogledajmo: lista2= list(range(20)) >>>[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] |
Kako pristupiti elementima liste? | Možemo upotrijebiti operator indeksa [] da pristupimo elementima liste. Indeks počinje od 0. Dakle, popis s 5 elemenata imati će indeks od 0 do 4. |
Što u listama u Python-u predstavlja negativno indeksiranje? | Python omogućava i negativno indeksiranje. Indeks -1 odnosi se na zadnji element, -2 na predzadnji element i tako dalje. |
Statički unos | - broj elemenata je unaprijed poznat |
Korištenje operatora za kreiranje niza istovrsnih podataka u statičkom unosu? | - Operator ponavljanja: Naredbom: a = [0]*5 stvaramo niz: a = [0, 0, 0, 0, 0]. |
Dinamički unos | - broj elemenata nije poznat unaprijed |
Što je potrebno napraviti prije dinamičkog unosa liste? | Potrebno je također inicijalizirati listu, ali praznu |
Kako bi izgledao dijagram toka za ispis niza 'a' od i članova? | Za i=0 do n-1 ispiši i-ti član niza a(i) : |
Kod za ispis liste u jednom retku | For i in range(n): print(broj[i], ed="") |
Kod za ispis niza bez korištenja indeksa | For br in broj: print(br, end="") |
U čemu nam, pri stvaranju listi, pomažu funkcije iz modula random? | Pri razmatranju različitih algoritama praktično je generirati liste sa pseudonasumično odabranim vrijednostima. |
Što vraća funkcija randint(a,b)? | Vraća pseudonasumične cijele brojeve iz intervala [a, b]. |
Kakve brojeve generira funkcija randrange? | Randrange(a, b) će generirati cijele brojeve iz intervala [a, b>. Ova funkcija ponekad je prikladnija za uporabu jer se ponaša u skladu s pravilima o gornjoj granici intervala u Pythonu. |
Funkcije randint() i randrange() za stvaranje nasumičnih listi? | Funkcija randint() i randrange() mogu nam poslužiti za stvaranje nasumičnih listi. Primjer stvaranja liste od 100 nasumično generiranih prirodnih brojeva iz intervala [50,100>: N = [randrange(50, 100) for i in range(100) ] |
Operatori za liste | Za liste vrijede isti operatori : +, *, in, not in kao i za stringove. |
Metode za liste u Python-u | S obzirom da su liste također objekti, za njih su u Pythonu pripremljene ugrađene metode: append(), extend(), insert(), remove(), pop(), reverse(), sort() |
Funkcija append() | Način uporabe: lista.append(x). Opis djelovanja: Dodaje element x na kraj liste list |
Funkcija extend() | Način uorabe: lista.extend(L_e). Opis djelovanje: Dodaje elemente liste L_e na kraj liste lista. |
Funkcija insert() | Način uporabe: lista.insert(i, x). Opis djelovanja: Umeće element x prije i-tog elementa liste. |
Funkcija remove() | Način uporabe: lista.removev(x). Opis djelovanja: Izbacuje element x (ako ih ima više izbacuje onaj s najmanjim indexom, ako ga ne nađe u odgovarajućoj listi, javlja pogrešku. |
Funkcija pop() | Način uporabe: lista.pop(i). Opis djelovanja: Izbacuje i-ti element iz liste i vraća ga; ako parametar i nije specificiran - izbacuje i vraća zadnji element |
Funkcija reverse() | Nači uporabe: lista.reverse(). Opis djelovanja: Okreće listu lista ( okreće redoslijed elemenata liste) |
Funkcija sort() | Način uporabe: lista.sort(). Opis djelovanje: Sortira listu lista ( prema rastućim vrijednostima parametara) |
Osnovni algoritmi za rad s nizovima - Zbroj članova niza | Zbroj članova niza: z=0 za i=0 do n-1 z=z+a(i) |
Kako dohvaćamo elemente liste? | Indeksiranjem. |
Ako želimo dobiti 3. član liste, koji broj upisujemo u uglate zagrade funkcije "list[]"? | Upisujemo u uglate zagrade broj 2 (indeksiranje počinje od 0!) |
Odlomak liste - Kod cijepanja liste od i-tog do j-tog elementa, koji element nije uključen u odlomak? | Ako je lista od i-tog do j-tog elementa, onda j-ti element nije uključen u odlomak. |
Što vraća funkcija min()? | Element s najmanjom vrijednosti u listi (ako su brojevi to će biti najmanji broj, a ako je string, vratit će string koji je prvi po abecedi). |
Što vraća funkcija max()? | Element s najvećom vrijednosti. |
Što vraća funkcija len()? | Broj elemenata u nizu, tj. njegovu duljinu (eng. length). |
Što će ispisati kod sa slike? | Trideset |
Osnovne operacije za rad s listama su? | + -> nadovezivanje * -> uvišestručenje in -> element je u listi not in -> element nije u listi |
Za što se koristi nadovezivanje? | Za spajanje dvije ili više lista u jednu. |
Kako uvišestručenje proširuje listu? | Proširuje listu tako što kopira sve članove za neki cijeli broj. |
Čemu služe operacije in i not in i koje vrijednosti vraćaju? | Služe za provjeru nalazili se traženi element u listi. Ako se nalazi, in će vratiti vrijednost True, a not in će vratiti False. |
Lista1=[10,12,13] Koji je rezultat operacije lista1*3? | [10,12,13,10,12,13,10,12,13] |
Što radi pridružba članu na i-tom mjestu? | Članu na i-tom mjestu će zamijeniti trenutni član na tom mjestu liste novim članom. |
Je li moguće istovremeno zamijeniti više članova liste? | Da. Ako to želimo napraviti koristit ćemo se osnovnom formulom: [i:j+1], gdje je broj i od kojeg člana želimo vršiti zamjenu, a j zadnji član koji želimo promijeniti. Može se napraviti samo s varijablama tipa string! |
Brisanje članova liste | Možemo izvršiti pojedinačno ili u skupini i vrši se sa ključnom riječi del. |
Koje dvije metode koristimo da bi postojećoj listi dodali nove elemente? | Append() i extend() . Obje metode će nove elemente dodati na kraj postojeće liste. |
Što radi metoda append()? | Na kraj liste dodaje jedan novi element. |
Kojeg tipa je podatak ako smo koristili metodu append()? | Može biti i jedinstveni podatak kao npr. broj, ali može biti i nova lista. Ako dodamo listu ona će biti samo jedan element u listi u koju smo ju dodali. |
Kako pristupamo elementima liste koju smo dodali preko metode append()? | Da bi smo pristupili elementima te liste moramo koristiti dvostruko indeksiranje [i][j], gdje je i pozicija dodane liste u početnoj listi, a j element u dodanoj listi kojem želimo pristupiti. |
Što radi metoda extend()? | Dodaje više članova u listu iz nekog postojećeg iterablinog objekta (kao npr. drugi niz i lista ili string). Sve članove iz dodane liste ubacuje u postojeću kao zasebne elemente te liste. |
Što radi metoda insert()? | Ako ne želimo dodati novi element na kraj liste. Dodaje se novi element prije odabranog elementa u listi. |
Što radi metoda remove()? | Izbrisat će određeni element iz liste. Ako se u listi nalazi više istih elemenata, izbrisat će se onaj koji ima najmanji indeks. Ako ne postoji element za brisanje doći će do greške. |
Što radi metoda pop()? | Izbacuje element iz lista i zatim ispisuje taj element. U funkciju možemo upisati indeks elementa koji želimo izbaciti i ispisati ili možemo zagrade ostaviti praznima. U tom slučaju će se izbaciti zadnji element iz liste. |
Što radi metoda reverse()? | Obrnut će poredak elemenata u nizu. Prvi element će biti zadnji, drugi predzadnji i td. |
Što radi metoda sort()? | Poredat će elemente u listi od najmanjeg prema najvećem. |
Koje neobavezne parametre ima metoda sort() i kako oni funkcioniraju? | Dva neobvezna parametra reverse i key. list.sort(reverse=True|False, key=myFunc) |
Ako parametar reverse postavimo na True, kako će lista biti sortirana? | Od najvećeg prema najmanjem elementu. |
Što dozvoljava parametar key? | Dozvoljava upotrebu nekog drugog algoritma za sortiranje umjesto algoritma koji je ugrađen u Pythonu (Timsort koji je kombinacija insertion sorta i merge sorta). |
Što je sažeta lista i kako je možemo koristiti? | Česta svrha for petlje je provjeravanje svakog člana unutar niza i tvorba nove liste dodajući rezultate izraza izračunatog na jednom ili svim članovima koji se provjeravaju. Oblik izraza, list comprehension omogućuje točno i neposredno izvršavanje ove zadaće. |
Kako možemo koristiti sažetu listu? | Ovakva lista je izraz (a ne blok naredbi),i može ju se koristiti izravno (npr. kao stvarni argument u funkciji poziva, zatim u naredbi return ili kao podizraz za neki drugi izraz). |
Sintaksa sažete liste? | Lista = [izraz for i in neka_lista] lista = [izraz for i in range(n)] lista = [izraz,…, izraz] – n istih izraza čini listu Uvrštenje nekog elementa u listu koja se konstruira može se uvjetovati: lista = [izraz for i in neka_lista if uvjet] |
Koja je funkcija sažetih listi? | Sažete liste procjenjuju izraz za svaki element u listi i vraćaju listu rezultata. Zamislite ovo kao prečac za primjenu operacije na svaki element u listi i dobivanje nove liste, bez muke stvaranja privremene liste. |
Što je bubble sort? | Algoritam za sortiranje koji radi tako što više puta prolazi kroz niz brojeva koji treba sortirati i uspoređuje svaki par susjednih elemenata, počevši s lijeva prema desno. |
Kako radi bubble sort? | Uspoređuje vrijednosti dva susjedna elementa niza i po potrebi obavlja zamjenu mjesta. |
Kako se obavlja zamjena mjesta u nizu brojeva kod bubble sorta? | Deklariranjem još jedne varijable – TEMP varijabla. |
Koji je alternativni naziv za bubble sort? | Mjehurićasti sort. |
Zašto mjehurićasti sort alternativan naziv za bubble sort? | Nakon jednog prolaza kroz niz brojeva najveći element je “izguran“ na kraj niza odnosno ispliva kao mjehurić. |
O čemu ovisi složenost bubble sort algoritma? | O broju elemenata niza. |
Kakva je zavisnost složenosti bubble sorta i broja elementa niza? | Zavisnost je izražena izrazom: Složenost = O(n2); gdje je n broj elemenata niza kojeg sortiramo. Bubble sort ima najlošiju složenost algoritma, a označavamo je sa O(n 2 ) gdje je n broj elemenata koji sortiramo. |
U određivanju složenosti samog algoritma značajnu ulogu ima … | Pozicija elemenata u nizu. |
Kakva je dinamika pomicanja elemenata niza? | Elementi s nižom vrijednosti se sa kraja niza pomiču na početak jako sporo, dok je situacija sa velikim elementima sa početka niza situacija drukčija jer se oni lako kreću prema kraju i mijenjaju. |
Kako se nazivaju elementi niza sa velikim i malim vrijednostima u bubble sortu? | Naziv elemenata je respektivan: zec (element s velikom vrijednosti) ili kornjača (element s malom vrijednosti). |
Koji sortovi su nastali kao rezultat poboljšanja bubble sorta? | Cocktail sort i Comb sort. |
Što je sortiranje? | Postupak kojim se neka kolekcija elemenata uređuje tako da se elementi poredaju po nekom kriteriju. |
Kako se obično radi sortiranje elemenata numeričkih nizova? | Obično se uređuje od manjeg prema većim elementima. |
Kako se obično radi sortiranje elemenata nizova stringova? | Red elemenata određuje se prema leksikografskom rasporedu. |
Koja je ideja selection sorta? | Odaberemo najmanji (ili najveći) element niza te da ga zamijenimo s prvim elementom niza. |
Kako radi selection sort nakon prve zamjene elemenata niza? | Promatramo sve elemente niza osim tog prvog, stalno smanjujući podniz kojeg promatramo dok ne dođemo do posljednjeg elementa koji bi trebao biti najveći (ili najmanji) element niza. |
Koliko elemenata u nizu pretražujemo pomoću selection sorta, gledajući po koracima? | U prvom koraku pretražujemo sve elemente u nizu (N), u drugom koraku pretražujemo N-1 elemente itd. do N-tog koraka gdje pretražujemo samo jedan element. |
Kolika je složenost selection sort algoritma? | Kvadratna, O(N^2). |
Koja je glavna razlika bubble sorta i selection sorta? | Bubble sort zamjenjuje susjedne elemente, ako su oni u krivom poretku (ako je prvi broj manji od drugoga, zamijenit će ih), dok selection sort sortira niz tražeći najmanji element nesortiranog niza te ga stavlja na početak. |
Kako radi algoritam za selection sort? | Uzima najmanju vrijednost (ako niz svrstavamo silazno) u listi i stavlja ju na odgovarajuće mjesto u listi. |
Kako u Pythonu implementiramo selection sort? | Pomoću 3 pokazivača: 1) na ključni element (i) 2) na indeks najmanjeg elementa u trenutnom prolazu (k) 3) na element s kojim uspoređujemo najmanji element trenutnog prolaza (j) |
Čemu na početku svakog prolaza u mora biti jednak indeks najmanjeg elementa kroz algoritam selection sorta? | Indeksu ključnog elementa za taj prolaz. |
Što u prvom prolazu predstavlja prvi element? | Smatramo ga sortiranim i najmanjim - tj. minimumom, te se uspoređuje sa svim ostalim elementima. |
Na koja 2 dijela selection sort dijeli uneseni niz? | Podniz elemenata koji su već sortirani, i podniz preostalih elemenata. |
Pseudokod za selection sort | - ulaz je nesortirana lista a1, , ......, an, izlaz je sortirana lista 1. za i = 1, 2, n-1 radi korake 2 - 5 2. min = i 3. za j = i, … , n radi korak 4 4. ako je aj < aminmin = j 5. zamijeni (ai, , amin) |
Koje sortove smatramo poboljšanim inačicama selection sorta? | 1. Heap sort - sortiranje pomoću hrpe. 2. Patience sort 3. Smoothsort 4. Strand sort |
Koji je hrvatski naziv za selection sort? | Sortiranje izborom |
Koja je ideja insertion sorta? | To je algoritam umetanja, sličan načinu na koji se slažu karte. |
Na kojoj ideji se zasniva insertion sort algoritam? | Ubacivanje jednog po jednog elementa na "odgovarajuće" mjesto unutar već sortiranog dijela niza. |
Koji je hrvatski naziv za insertion sort? | Sortiranje umetanjem |