Setul Python este un literal unic pentru filtrarea valorilor distincte într-o listă sau o serie de articole. Spre deosebire de o listă Python, un dicționar sau un tuplu, nu acceptă duplicate. Deci poate fi un instrument valoros de curățare a datelor.
Dar cum poți să creezi un set și să îl folosești în Python? Vom explica asta în această postare.
Caracteristicile seturilor Python
Pe lângă faptul că nu acceptă duplicate, un literal set are alte caracteristici care îl diferențiază de alte tipuri de date. Iată câteva dintre caracteristicile sale:
- Este imuabil: asta înseamnă că nu puteți schimba valorile unui set după ce îl creați.
- Un literal set returnează aranjamentul dinamic de fiecare dată când creați unul. În esență, articolele dintr-un set sunt neordonate.
- Deoarece prezintă elemente neordonate, spre deosebire de literele din listă și din dicționar, nu puteți obține valorile unui set prin indexurile lor.
Cum se creează și se utilizează un set Python
Acum că știți caracteristicile de bază ale unui set Python. Să vedem câteva dintre modalitățile prin care îl puteți folosi în programul dvs.
Folosiți aparate dentare pentru a crea un set în Python. Deci, un set este o listă de elemente în paranteze separate, prin virgule:
mySet = {1, 2, "MUO", "Google"}
print (setul meu)
Ieșire: {1, 2, „MUO”, „Google”}
De asemenea, puteți converti orice alt tip de date într-un set. De exemplu, codul de mai jos convertește o listă într-un set:
MyList = [1, 2, „MUO”, „Google”]
setul meu = set (lista mea)
print (setul meu)
Ieșire: {1, 2, „MUO”, „Google”}
Pentru a fi sigur, puteți verifica tipul de date al setul meu:
MyList = [1, 2, „MUO”, „Google”]
setul meu = set (lista mea)
print (tip (setul meu))
Ieșire:
Așa cum am menționat mai devreme, un set nu acceptă duplicate. Această caracteristică poate fi utilă atunci când doriți să curățați o matrice prin eliminarea valorilor duplicate.
Codul de mai jos elimină duplicatele dintr-o listă și prezintă rezultatul ca un set Python:
MyList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
setul meu = set (lista mea)
print (setul meu)
Ieșire: {1, 2, „MUO”, „Google”}
Pentru a demonstra în continuare caracteristica de filtrare a unui set, atunci când tipăriți lungimea unui set, acesta nu ia în considerare valorile duplicate:
mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
print (len (setul meu))
Ieșire: 4
Pentru a vedea un caz de utilizare mai bun al unui set, să eliminăm duplicatele din următoarea matrice. Este ca și cum ai interoga cheile unice dintr-o matrice.
Pentru a face acest lucru, convertiți un dicționar într-un set:
MyDiction = {
„Mango”: 2, „Orange”: 2, „morcov”: 2, „MUO”: „tehnologie”,
„MUO”: „web”, „Google”: „căutare”, „Google”: „motor”
}
uniqueSet = set (myDiction)
print („Acestea sunt cheile unice: {}”. format (uniqueSet))
Ieșire: acestea sunt cheile unice: {'Google', 'Mango', 'MUO', 'Orange', 'morcov'}
Conversia de mai sus elimină automat elementele duplicate din matrice.
Puteți modifica codul de mai sus folosind o buclă for pentru a fi mai clar:
pentru unici în set unic:
print (unic)
De asemenea, puteți asocia două seturi cu uniune() metodă:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
print (set nou)
Ieșire: {1, 3, 4, 5, 6}
Cu toate acestea, codul de mai sus unește cele două seturi și elimină valorile duplicate.
Alternativ, puteți utiliza conducta | funcție pentru a uni seturi în Python:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
print (set nou)
Ieșire: {1, 3, 4, 5, 6}
De asemenea, puteți găsi diferența dintre două seturi în Python:
setA = {1, 3, 5}
setB = {2, 4, 5,}
print (setA.difference (setB))
Ieșire: {1, 3}
Puteți găsi diferența simetrică între mulțimile A și B. Această metodă returnează articolele din ambele seturi, dar exclude intersectările acestora. Să vedem cum funcționează acest lucru:
setA = {1, 3, 5}
setB = {2, 4, 5,}
print (setA ^ setB)
Ieșire: {1, 2, 3, 4}
Alternativ, puteți utiliza fișierul symmetric_difference () metodă:
setA = {1, 3, 5}
setB = {2, 4, 5,}
print (setA.symmetric_difference (setB))
Ieșire: {1, 2, 3, 4}
Să vedem, de asemenea, cum puteți găsi intersecția seturilor de mai jos:
setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
print (set nou)
Ieșire: {1}
În timp ce poți adăugați la o listă în Python, nu puteți face același lucru pentru un set Python. Cu toate acestea, puteți adăuga un element la sfârșitul unui set folosind adăuga funcţie.
Dar Python adăuga funcția acceptă un argument, deci puteți adăuga doar un tuplu la un set. Aceasta returnează un set imbricat:
setA = {1, 3, 5} setC = {1, 3}
set nou = 1, 6
setC.add (newSet)
print (setC)
Ieșire: {1, (1, 6), 3}
Setul Python folosește isdisjoint () metoda pentru a verifica dacă două seturi sunt disjuncte. Apoi returnează un boolean:
setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
print („Este {} că setA este o disjuncție a lui B” .format (findDisjoint))
Ieșire: este fals că setA este o disjuncție a lui B.
Pentru a verifica dacă un set este un subset al altui, înlocuiți isdisjoint () cu issubset ():
findSubset = setA.issubset (setB)
Puteți elimina un element dintr-un set:
setA = {1, 3, 5}
setA.remove (5)
print (setA)
Ieșire: {1, 3}
clar() metoda șterge elementele dintr-un set și returnează un set gol:
setA = {1, 3, 5}
setA.clear ()
print (setA)
Ieșire: set ()
Puteți elimina un articol arbitrar dintr-un set și puteți returna valoarea acestuia folosind set.pop () metodă:
setA = {1, 3, 5}
print (setA.pop ())
De asemenea, puteți actualiza un set Python cu metoda update ():
setA = {1, 'b'}
setB = {2, 4, 5,}
print (setA.update (setB))
print (setA)
Ieșire: {1, 2, 4, 5, 'b'}
Joacă-te cu seturile Python
Deși am văzut cum puteți utiliza un set în Python, există încă alte modalități practice de a-l aplica în cod. După cum ați văzut, poate fi chiar util la curățarea datelor cu Python.
În plus față de un set, alte tipuri de date sau tablouri Python au multe utilizări și diverse aplicații. Încercați să vă jucați cu ei pentru a vă bucura mai bine de ei.
Tablourile și listele sunt unele dintre cele mai utile structuri de date în programare - deși puțini oameni le folosesc la întregul lor potențial.
Citiți în continuare
- Programare
- Piton
Idowu este pasionat de orice tehnologie inteligentă și productivitate. În timpul liber, se joacă cu codificarea și trece la tablă de șah când se plictisește, dar îi place, de asemenea, să se rupă de rutină din când în când. Pasiunea sa pentru a arăta oamenilor calea în jurul tehnologiei moderne îl motivează să scrie mai multe.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletterului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.