Dublikatlarni bir zumda yo‘qotamiz va «bormi?» savoliga tez javob beramiz
9-sinfAdvanced Back-end va DevOps5-hafta · 14-dars5 ta xususiyat: unikal, tez, indekssiz, tartibsiz, mutable
{ }, set(), add(), remove()
Birlashtirish, dublikatni olib tashlash, tartiblash
["Ali", "Laylo", "Ali", "Sardor", "Ali"] - to‘garakka Ali uch marta yozilib qoldi.
Har bir o‘quvchi faqat bir marta: {"Ali", "Laylo", "Sardor"}
Takrorlanmaydigan (unique) elementlar to‘plami
{1, 1, 2} -> {1, 2}
"Ali" in s - millionlab elementda ham bir zumda.
s[0] ishlamaydi: TypeError.
Ko‘p hollarda tartib baribir kerak bo‘lmaydi.
Qo‘shish va o‘chirish mumkin.
mevalar = {"olma", "nok", "olma", "uzum"}
print(mevalar) # {'nok', 'olma', 'uzum'}
print("nok" in mevalar) # True
Bo‘sh set tuzog‘i, add() va remove()
tillar = {"Python", "SQL"}
tillar = {"Python", "SQL"}
tillar.add("Bash")
tillar.add("Python") # takror: qo'shilmaydi
tillar.remove("SQL")
print(tillar) # {'Python', 'Bash'}
s = {10, 20, 30}
print(s[0])
TypeError: 'set' object is not subscriptable
20 in s -> TrueBo‘sh set qanday yaratiladi?
{} - bo‘sh dict, [] - list, () - tuple. Bo‘sh set faqat set().Birlashtirish, dublikatni olib tashlash, tartiblash
Chuqurroq: pastga
a_guruh = {"Ali", "Vali", "Laylo"}
b_guruh = {"Laylo", "Sardor"}
hammasi = a_guruh | b_guruh
print(hammasi) # 4 ta ism, Laylo bir marta
print(a_guruh.union(b_guruh)) # xuddi shu natija
["Ali", "Vali", "Ali", "Laylo", "Vali", "Ali", "Madina", "Laylo"] - kim nechta ekanini sanash qiyin.
len(set(royxat)) -> 4. sorted() -> ['Ali', 'Laylo', 'Madina', 'Vali']
in bloklangan
bloklangan = {"spam_bot", "fake_user"}
if login in bloklangan:
print("Kirish taqiqlangan!")
s = {1, 2, 3}; s.add(2); s.add(4); print(len(s))
{1, 2, 3, 4}.s = {}So‘ng s.add(1) -> AttributeError. Bo‘sh set: set().
s[0]Indeks yo‘q. Bor-yo‘qligini in bilan tekshiring.
Tartib kerak bo‘lsa - sorted().
[4, 1, 4, 2, 1, 5] dan takrorlarni olib tashlab, tartiblangan holda chiqaring.mevalar = {}, mevalar.add("olma"), print(mevalar[0]).lower(), set(), sorted()).Set - unikal elementlar. Bo‘sh set: set(). add(), remove(), a | b, set(nums), sorted().
set_mashq.py: takrorsiz tartiblash, o‘yinlar birlashmasi, bloklangan login.
Keyingi dars: dictionary - kalit va qiymat. Bo‘sh {} aynan uniki!