Hulk (set)

Hulgad on järjendid, kus pole duplikaate. Hulk erineb veel järjendist selle poolest, et hulga elemente ei saa indekseerida.

friend_list = {"Tom", "Agnes", "Jim"}

Hulga loomine on segu sõnastiku ja järjendi loomisest, loogsulgudega aga ilma võtme ja väärtusega.

Tühja hulga loomine toimub funktsiooniga set(), kuna looksulge kasutades loob Python hoopis sõnastiku.

friend_list = set()

Elementidele ligipääsemine

Hulkades pole elemendid indekseeritavad, ehk neile pole võimalik ligi pääseda kasutades indeksit. Kõige lihtsam viis hulga elementide kätte saamiseks on for-tsükliga.

for name in friend_list:
    print(name)

See meetod prindib hulga elemendid välja suvalises järjekorras, sest hulgas pole kindlat asukohta elementidel.

Elementide lisamine

Hulkadesse saab lisada elemente funktsiooniga add. See erineb järjendist, kus funktsiooniks on append, kuna hulkades pole kindlat järjekorda.

friend_list = {"Tom", "Agnes", "Jim"}
print(friend_list)

friend_list.add("Rasmus")
print(friend_list)

Selle käivitamisel saame:

{'Tom', 'Agnes', 'Jim'}
{'Tom', 'Rasmus', 'Agnes', 'Jim'}

Järjendi puhul lisatakse element viimaseks, aga hulgas võib element minna ükskõik millisesse kohta.

Elementide eemaldamine

Hulgast saab elemente eemaldada kahe erineva funktsiooniga: remove ja discard. Discard meetod on parem, kuna see kõigepealt vaatab, kas eemaldatav element on hulgas ja ei teki võtme vigu.

friend_list = {"Tom", "Agnes", "Jim"}
print(friend_list)

friend_list.remove("Tom")
print(friend_list)

friend_list.discard("Jim")
print(friend_list)

Käivitamisel saame:

{'Jim', 'Agnes', 'Tom'}
{'Jim', 'Agnes'}
{'Agnes'}

Suvalise elemendi eemaldamiseks saab kasutada funktsiooni pop.

friend_list = {"Tom", "Agnes", "Jim"}
print(friend_list)

friend_list.pop()
print(friend_list)

Igal käivitamisel eemaldab erineva elemendi, hetkel esimese *run*i puhul saime:

{'Tom', 'Jim', 'Agnes'}
{'Jim', 'Agnes'}

Operatsioonid hulkadega

Sisend Väljund
len({“Tom”, “Agnes”, “Jim”}) 3
“Tom” in friend_list True
set_1 = {1, 2, 3}  
set_2 = {1, 3}  
set_1 - set_2 {2}

Lisamaterjalid hulkade kohta

Rohkem saab lugeda ametlikust pydoc-is.

https://docs.python.org/3.5/library/stdtypes.html?highlight=set#set