Unirea mulțimilor
Python îți oferă mai multe moduri de a combina două sau mai multe mulțimi.
union() și update() adună toate elementele din ambele mulțimi.
intersection() păstrează duplicatele și nimic altceva.
difference() îți dă ce are prima mulțime și nu au celelalte.
symmetric_difference() îți dă totul, cu excepția duplicatelor.
Reuniune
Când apelezi union(), obții o mulțime complet nouă, care conține toate elementele din ambele mulțimi.
Exemplu
Combină set1 și set2 într-o a treia mulțime:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
Ieșire: program Python complet
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
Exemplu
Operatorul | face același lucru pentru două mulțimi:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1 | set2
print(set3)
Ieșire: program Python complet
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1 | set2
print(set3)
Unirea mai multor mulțimi
Toate metodele și operatorii de unire funcționează cu mai mult de două mulțimi.
Când folosești o metodă, enumeră mulțimile suplimentare între paranteze și pune virgule între ele:
Exemplu
Transmite trei mulțimi către union() ca să combini patru în total:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
Ieșire: program Python complet
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
Exemplu
Înlănțuie | ca să combini patru mulțimi:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
Ieșire: program Python complet
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
Unirea unei mulțimi cu un tuplu
union() acceptă și alte tipuri de date, printre care liste și tupluri, nu doar mulțimi.
Indiferent ce îi transmiți, primești înapoi o mulțime.
Exemplu
Combină o mulțime cu un tuplu:
x = {"a", "b", "c"}
y = (1, 2, 3)
z = x.union(y)
print(z)
Ieșire: program Python complet
x = {"a", "b", "c"}
y = (1, 2, 3)
z = x.union(y)
print(z)
Actualizare
Cu update(), elementele unei mulțimi sunt adăugate în alta.
Metoda modifică direct mulțimea originală, în loc să îți dea una nouă.
Exemplu
Aici set1 primește toate elementele din set2 prin update():
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
Ieșire: program Python complet
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
Intersecție
Păstrează duplicatele și nimic altceva
Când apelezi intersection(), se creează o mulțime nouă care conține doar elementele prezente în ambele mulțimi.
Exemplu
Combină set1 și set2, păstrând doar ce au în comun:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
Exemplu
Operatorul & dă același rezultat pentru două mulțimi:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
Exemplu
Cu intersection_update(), în set1 rămâne doar ce are în comun cu set2:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
Exemplu
Combină mulțimi care conțin True, False, 1 și 0, apoi uită-te care valori contează ca duplicate:
set1 = {"apple", 1, "banana", 0, "cherry"}
set2 = {False, "google", 1, "apple", 2, True}
set3 = set1.intersection(set2)
print(set3)
Ieșire: program Python complet
set1 = {"apple", 1, "banana", 0, "cherry"}
set2 = {False, "google", 1, "apple", 2, True}
set3 = set1.intersection(set2)
print(set3)
Diferență
Când apelezi difference(), se creează o mulțime nouă doar cu acele elemente din prima mulțime pe care cealaltă mulțime nu le are.
Exemplu
Obține ce are set1 și nu are set2:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
Exemplu
Operatorul - dă același rezultat pentru două mulțimi:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
Exemplu
Apelează difference_update() ca să scoți din prima mulțime tot ce are și cealaltă mulțime:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.difference_update(set2)
print(set1)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.difference_update(set2)
print(set1)
Diferențe simetrice
Când apelezi symmetric_difference(), rămâi doar cu elementele care aparțin uneia dintre mulțimi, dar nu ambelor.
Exemplu
Obține elementele care apar doar în una dintre cele două mulțimi:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
Exemplu
Operatorul ^ dă același rezultat pentru două mulțimi:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
Exemplu
Apelează symmetric_difference_update() astfel încât set1 să conțină doar elementele aflate în exact o mulțime:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)
Ieșire: program Python complet
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)