Toʻplamlar va ular ustida amallar bajarish
Python tilida toʻplam – bu betakror elementlarning tartiblanmagan jamgʻarmasidan iborat boʻladi. Tartiblanmaganlik shuni anglatadiki, toʻplam uchun elementning turgan oʻrni hech qanday ahamiyat kasb etmaydi. Betakrorlik esa toʻplamda ikkita bir xil elementning mavjud boʻlmasligini bildiradi. Bu holda bir xil elementlar bitta deb qaraladi. Toʻplam elementlar quyidagi hususiyatlarga ega boʻlishi lozim:
betakror;
oʻzgarmas ob`ektlar;
turli tiplarga mansub boʻlishi mumkin.
Python tilida toʻplamlar ma’lumotlarning alohida turi sifatida qaraladi hamda ular ustida matematikaning toʻplamlar nazariyasiga hos boʻlgan barcha amallarni bajarish imkoniyatlari koʻzda tutilgan. Toʻplamlar boʻsh boʻlishi ham mumkin. Masalan:
{'a', 5, "kitob"} # uch elementli toʻplam;
{0, 1, 2, 3, 4, 5} # 5 ta elementli toʻplam;
{ } # boʻsh toʻplam.
Biror elementning u yoki bu toʻplamga munosabati tegishli yoki tegishli emasligi bilan ifodalanadi. Uning toʻplamda turgan oʻrnining ahamiyati yoʻq.
Toʻplam” tipidagi ob`ektlarni yaratish.
“Toʻplam” tipidagi ob`ektlarni quyidagi usullardan biri yordamida yaratish mumkin:
• toʻplam ob`ektiga {} lar orasida elementlarini koʻrsatib oʻzlashtirish. Masalan:
x = { 0, 1, 0, 'a', 1, 'b', 2 } # x = {0, 1, 2, 'a', 'b'} – elementlar betakror
• boshqa tipdagi ma’lumotlarni toʻplamga akslantirish imkonini beruvchi set() funktsiyasi qaytargan qiymatlarni toʻplam ob`ektiga oʻzlashtirish. Masalan:
x = set(['a', 5, "textbook", 5]) # x = {5, 'kitob', 'a'}.
• toʻplam ob`ektiga toʻplam ustida bajarilgan qandaydir amal natijalarini oʻzlashtirish (masalan, kesishma amali - &). Masalan:
x = { 1, 2, 3, 4 } & { 3, 2} # x = {2, 3}
• toʻplam ob`ektiga frozenset() funktsiyasi natijalarini oʻzlashtirish. Masalan:
x = frozenset([1, 2, 3, 4]) # x – oʻzgarmas toʻplam.
• toʻplam ob`ektiga toʻplamlarni qaytaruvchi funktsiya natijalarini oʻzlashtirish. Masalan:
x = { 1, 2, 3, 4 }
y = { 3, 5, 7 }
z = x.union(y) # z = { 1, 2, 3, 4, 5, 7 }.
Usullar turlicha boʻlishiga qaramay, set() funktsiyasi asosiy usul sifatida qaraladi. Uni amalda qoʻllashga doir quyidagi namunaga e`tibor bering.
A={1, 30, "text", True, 30, 100, False}
B=set(A)
print("V toʻplam: ",B)
print(A==B)
Natijadagi 30 elementining yoʻq boʻlganligi tushunarli, ammo 1 elementi qani? Gap shundaki, Python tilida mantiqiy True qiymati 1 butun son tarzida talqin qilinadi. B toʻplamda A ning elementlari tartibining oʻzgarishi hech narsani hal qilmaydi.
A va B toʻplamlari teng deyiladi, agar A ning hamma elementlari B da, B ning hamma elementlari A toʻplamda mavjud boʻlsa. SHu sababli, yuqoridagi kodda ularni taqqoslash natijasi – True boʻlgan.
Koʻrsatilgan elementni toʻplamga kirish-kirmasligi in operatori yordamida aniqlanadi. Agar element toʻplamga kirsa-true, aks holda-False.
A={1, 30, "text", True, 30, 100, False}
print(0 in A)
Kod natijasini tahlil qilish uchun yuqoridagi misolning izoxiga qarang.
Toʻplam ustida bajarish mumkin boʻlgan ayrim amallarni koʻrib chiqaylik. Toʻplamdagi elementlar sonini len() funktsiyasi yordamida topiladi. Toʻplam nushasini yaratish uchun esa soru() metodidan foydalanish mumkin. Oʻzlashtirish operatori yordamida toʻplam nushasini yaratilganda, ya’ni bir oʻzgaruvchi koʻrsatib turgan toʻplamni ikkinchi oʻzgaruvchiga qiymat qilib berilganda, ikkita oʻzgaruvchi hosil boʻlib, ularning har ikkisi bitta toʻplamni (xotira qismini) koʻrsatadi. Bir nechta oʻzgaruvchining bitta toʻplamni koʻrsatishini is operatori yordamida aniqlash mumkin.
A={1, 2, 3, 4, 5, 6, 7, 1, 3}
print("Toʻplamdagi elementlar soni=", len(A))
B=A.copy()
print("B toʻplam elementlari: ",B)
print(A is B)
Toʻplamga yangi elementlarni qoʻshishi uchun add() metodidan foydalaniladi. Bu metodning argumenti toʻplamga qoʻshiladigan elementni anglatadi.
Toʻplam elementlarini oʻchirish uchun remove() yoki discard() metodlari xizmat qiladi. Bu metodlar toʻplamdan chaqiriladi va oʻchiriladigan element argument sifatida uzatiladi. rerove() metodi qoʻllanganda istisnoli vaziyat yuzaga keladi, discard() da esa - yoʻq. U shunchaki hech qanday amal bajarmaydi. Toʻplam elementlari toʻla oʻchirish uchun clear() metodidan foydalaniladi.
A={1, 2, 3, 4, 5, 7}
A.add(6)
print("A toʻplamga 6 qoʻshildi: ", A)
A.remove(3)
print("A toʻplamdan 3 oʻchirirldi:", A)
Ikki toʻplam oʻrtasidagi munosabatlarni aniqlashda quyidagi amal yoki metodlardan foyadalanish mumkin.
Do'stlaringiz bilan baham: |