Python - Setlarni Birlashtirish
Setlarni Birlashtirish
Python'da ikki yoki undan ko'p setlarni birlashtirishning bir nechta usullari mavjud.
union() va update() metodlari ikkala setdagi barcha elementlarni birlashtiradi.
intersection() metodi faqat takroriy elementlarni saqlaydi.
difference() metodi birinchi setdagi boshqa set(lar)da yo'q elementlarni saqlaydi.
symmetric_difference() metodi takroriy elementlardan tashqari hamma elementlarni saqlaydi.
Union
union() metodi ikkala setdagi barcha elementlar bilan yangi set qaytaradi.
Misol
set1 va set2 ni yangi setga birlashtirish:
# Setlarni yaratamiz
harflar = {"a", "b", "c"}
raqamlar = {1, 2, 3}
# Ikkalasini birlashtirish
yangi_toplam = harflar.union(raqamlar)
print(yangi_toplam)union() metodi o'rniga | operatoridan foydalanishingiz mumkin, natija bir xil bo'ladi.
Misol
| yordamida ikki setni birlashtirish:
# Setlarni yaratamiz
harflar = {"a", "b", "c"}
raqamlar = {1, 2, 3}
# Operator yordamida birlashtirish
yangi_toplam = harflar | raqamlar
print(yangi_toplam)Bir Necha Setni Birlashtirish
Barcha birlashtirish metodlari va operatorlari bir nechta setlarni birlashtirish uchun ishlatilishi mumkin.
Metoddan foydalanganda, qavs ichida ko'proq setlarni vergul bilan ajratib qo'shing:
Misol
union() metodi bilan bir nechta setni birlashtirish:
# Setlarni yaratamiz
harflar = {"a", "b", "c"}
raqamlar = {1, 2, 3}
ism = {"John", "Elena"}
mevalar = {"olma", "banan", "gilos"}
# Hamma setlarni birlashtirish
umumiy_toplam = harflar.union(raqamlar, ism, mevalar)
print(umumiy_toplam)| operatoridan foydalanganda, setlarni ko'proq | operatorlari bilan ajrating:
Misol
| yordamida bir nechta setni birlashtirish:
# Setlarni yaratamiz
harflar = {"a", "b", "c"}
raqamlar = {1, 2, 3}
ism = {"John", "Elena"}
mevalar = {"olma", "banan", "gilos"}
# Operator yordamida birlashtirish
umumiy_toplam = harflar | raqamlar | ism | mevalar
print(umumiy_toplam)Set va Tuple Birlashtirish
union() metodi setni boshqa ma'lumot turlari (ro'yxat yoki tuple) bilan birlashtirishga imkon beradi.
Natija set bo'ladi.
Misol
Setni tuple bilan birlashtirish:
# Set va tuple yaratamiz
harflar = {"a", "b", "c"}
raqamlar_tuple = (1, 2, 3)
# Ikkalasini birlashtirish
yangi_toplam = harflar.union(raqamlar_tuple)
print(yangi_toplam)Eslatma: | operatori faqat setlarni setlar bilan birlashtirishga ruxsat beradi, union() metodi kabi boshqa ma'lumot turlari bilan emas.
Update
update() metodi bir setdagi barcha elementlarni boshqa setga qo'shadi.
update() asl setni o'zgartiradi va yangi set qaytarmaydi.
Misol
update() metodi set2 elementlarini set1 ga qo'shadi:
# Setlarni yaratamiz
harflar = {"a", "b", "c"}
raqamlar = {1, 2, 3}
# Raqamlarni harflarga qo'shish
harflar.update(raqamlar)
print(harflar)Eslatma: union() va update() ikkalasi ham takroriy elementlarni chiqarib tashlaydi.
Intersection
Faqat takroriy elementlarni saqlash
intersection() metodi faqat ikkala setda mavjud bo'lgan elementlarni o'z ichiga olgan yangi set qaytaradi.
Misol
set1 va set2 ni birlashtirish, lekin faqat takroriy elementlarni saqlash:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Takroriy elementlarni saqlash
takroriy_toplam = mevalar.intersection(kompaniyalar)
print(takroriy_toplam)intersection() metodi o'rniga & operatoridan foydalanishingiz mumkin, natija bir xil bo'ladi.
Misol
& yordamida ikki setni birlashtirish:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Takroriy elementlarni saqlash
takroriy_toplam = mevalar & kompaniyalar
print(takroriy_toplam)Eslatma: & operatori faqat setlarni setlar bilan birlashtirishga ruxsat beradi, intersection() metodi kabi boshqa ma'lumot turlari bilan emas.
intersection_update() metodi ham faqat takroriy elementlarni saqlaydi, lekin yangi set qaytarmaydi, asl setni o'zgartiradi.
Misol
set1 va set2 da mavjud elementlarni saqlash:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Mevalarni takroriy elementlar bilan yangilash
mevalar.intersection_update(kompaniyalar)
print(mevalar)True va 1 qiymatlari bir xil qiymat sifatida qaraladi. Xuddi shunday False va 0 ham.
Misol
True, False, 1 va 0 qiymatlarini o'z ichiga olgan setlarni birlashtirish va takroriy elementlarni ko'rish:
# Setlarni yaratamiz
mevalar = {"olma", 1, "banan", 0, "gilos"}
aralash = {False, "google", 1, "olma", 2, True}
# Takroriy elementlarni saqlash
takroriy_toplam = mevalar.intersection(aralash)
print(takroriy_toplam)Difference
difference() metodi birinchi setda mavjud bo'lib, boshqa setda yo'q elementlarni o'z ichiga olgan yangi set qaytaradi.
Misol
set1 dagi set2 da yo'q barcha elementlarni saqlash:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Farqli elementlarni saqlash
farqli_toplam = mevalar.difference(kompaniyalar)
print(farqli_toplam)difference() o'rniga - operatoridan foydalanishingiz mumkin, natija bir xil bo'ladi.
Misol
- yordamida ikki setni birlashtirish:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Farqli elementlarni saqlash
farqli_toplam = mevalar - kompaniyalar
print(farqli_toplam)Eslatma: - operatori faqat setlarni setlar bilan birlashtirishga ruxsat beradi, difference() metodi kabi boshqa ma'lumot turlari bilan emas.
difference_update() metodi ham birinchi setda boshqa setda yo'q elementlarni saqlaydi, lekin yangi set qaytarmaydi, asl setni o'zgartiradi.
Misol
difference_update() metodi yordamida ikkala setda ham mavjud bo'lmagan elementlarni saqlash:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Mevalarni farqli elementlar bilan yangilash
mevalar.difference_update(kompaniyalar)
print(mevalar)Symmetric Differences
symmetric_difference() metodi faqat ikkala setda ham mavjud bo'lmagan elementlarni saqlaydi.
Misol
Ikkala setda ham mavjud bo'lmagan elementlarni saqlash:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Simmetrik farqli elementlarni saqlash
simmetrik_toplam = mevalar.symmetric_difference(kompaniyalar)
print(simmetrik_toplam)symmetric_difference() o'rniga ^ operatoridan foydalanishingiz mumkin, natija bir xil bo'ladi.
Misol
^ yordamida ikki setni birlashtirish:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Simmetrik farqli elementlarni saqlash
simmetrik_toplam = mevalar ^ kompaniyalar
print(simmetrik_toplam)Eslatma: ^ operatori faqat setlarni setlar bilan birlashtirishga ruxsat beradi, symmetric_difference() metodi kabi boshqa ma'lumot turlari bilan emas.
symmetric_difference_update() metodi ham takroriy elementlardan tashqari hamma elementlarni saqlaydi, lekin yangi set qaytarmaydi, asl setni o'zgartiradi.
Misol
symmetric_difference_update() metodi yordamida ikkala setda ham mavjud bo'lmagan elementlarni saqlash:
# Setlarni yaratamiz
mevalar = {"olma", "banan", "gilos"}
kompaniyalar = {"google", "microsoft", "olma"}
# Mevalarni simmetrik farqli elementlar bilan yangilash
mevalar.symmetric_difference_update(kompaniyalar)
print(mevalar)