zoznam je indexovaná štruktúra, to znamená každý prvok má svoju pozíciu (adresu) kde sa nachádza, je to ako poradové číslo. Index začína na hodnote 0 tz. nie 1 ako by sa nám možno zdalo logickejšie
p=[9,5,7,8,6,14,78,2,98] – vytvorenie 9 členného zoznamu s názvom p
p[0] na nultej pozícii je číslo 9
p[5] na piatej pozícii je 14
Existuje funkcia max(), ktorá vráti najväčší prvok zoznamu, ale v algoritme si ukážeme ako nájsť maximum bez tejto funkcie.
Zistenie najväčšej hodnoty v zozname
Do pomocnej premennej najvac si dáme prvý člen zoznamu –p. Danú premennú najvac porovnávame s ďalšími členmi zoznamu p, ak nájdeme člena v zozname p väčšieho ako je najvac, tak do najvac vložíme nájdenú väčšiu hodnotu. Takto pokračujeme až do konca zoznamu.
import random #importujeme náhodné čísla
p=[] # vytvoríme prázdny zoznam prvkov s názvom p
n=int(input(‚zadaj pocet prvkov‘))
for i in range(n): # koľko sme si zvolili prvkov n , toľko krát budeme pridávať
p.append(random.randrange(100)) #do zoznamu náhodné číslo do veľkosti 100
print(p) # vypíšeme zoznam p
najvac=p[0] # vytvoríme si premennú do ktorej dáme prvý člen zoznamu
pn=0 #pozícia najväčšieho čísla
for i in range(1, len(p)): #prejdeme všetkými prvkami zoznamu
if najvac < p[i]: #každý prvok pola porovnáme s najvac a ak je väčší ako najvac
najvac=p[i] # do najvac dáme prvok zoznamu, ktorý je väčší ako najvac
pn=i # do pn dáme pozíciu, kde sme väčšie číslo ako najvac našli
print(‚najvacsia hodnota je {} na pozicii {}‘.format(najvac,pn))
Hľadanie prvku v zozname
Zadáme si kritérium hľadania, vytvoríme pomocnú premennú ktorú nastavíme mimo rozsah indexov zoznamu aktuálne na zápornú hodnotu.
Zadané kritérium budeme porovnávať so všetkými prvkami zoznamu, ak nájdeme zhodu s niektorým prvkom, odložíme si index pozície kde prišlo k zhode.
Daný algoritmus pokračuje ďalej a tak nájde vlastne výskyt poslednej zhody, nie prvej.
Ak nám stačí prvej zhody, cyklus prehľadávania ukončíme v mieste zhody.
Existuje metóda zoznamu – index() táto vráti hodnotu indexu prvého výskytu.
import random #importujeme náhodne čísla
p=[]# vytvoríme prázdny zoznam prvkov s názvom p
n=int(input(‚zadaj pocet prvkov‘))
for i in range(n): # koľko sme si zvolili prvkov n , toľko krát budeme pridávať
p.append(random.randrange(100)) #do zoznamu náhodné číslo do veľkosti 100
print(p)
hl=int(input(‚zadaj kriterium na hladanie – cislo‘))
phl=-1 #pozícia hľadaného na začiatok mimo rozsah
for i in range(len(p)):#prejdeme všetkými prvkami zoznamu
if hl == p[i]:# ak sa niektorý prvok v zozname p rovná hľadanému prvku hl- kritérium
phl=i # do phl odložím pozíciu kde sa našla zhoda s hľadaným prvkom
if phl >= 0: # ak je pozícia hľadaného väčšia alebo rovná 0, tak sa prvok našiel a v phl máme pozíciu kde sa nachádza hľadaný prvok
print(‚nachadza sa na pozicii {}‘.format(phl))
else:
print(‚nenachadza sa ‚)