Setul Python este o colecție neordonată de tipuri de date care este iterabilă, mutabilă și nu are elemente duplicate. Ordinea elementelor dintr-o mulțime este nedefinită, deși poate consta din diferite elemente. Avantajul major al folosirii unui set, spre deosebire de o listă, este că are o metodă foarte optimizată pentru a verifica dacă un anumit element este conținut în set. Aici, vom vedea ce este un set în Python și, de asemenea, vom vedea diferite exemple de set Python.
Crearea unui set în Python
Seturile Python pot fi create folosind sistemul încorporat a stabilit() funcția cu un obiect iterabil sau o secvență prin plasarea secvenței în acolade, separate prin „virgulă”.
Python3Notă: Un set Python nu poate avea elemente mutabile precum o listă sau un dicționar, deoarece este imuabil.
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Creating a Set with the use of a String set1 = set('GeeksForGeeks') print('
Set with the use of String: ') print(set1) String = 'GeeksForGeeks' set1 = set(String) print('
Set with the use of an Object: ') print(set1) # Creating a Set with the use of a List set1 = set(['Geeks', 'For', 'Geeks']) print('
Set with the use of List: ') print(set1) # Creating a Set with the use of a tuple t = ('Geeks', 'for', 'Geeks') print('
Set with the use of Tuple: ') print(set(t)) # Creating a Set with the use of a dictionary d = {'Geeks': 1, 'for': 2, 'Geeks': 3} print('
Set with the use of Dictionary: ') print(set(d))> Ieșire
ce este cablat automat în java
Initial blank Set: set() Set with the use of String: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of an Object: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of List: {'For', 'Geeks'} Set with the use of Tuple: {'for', 'Geeks'} Set with the use of Dictionary: {'for', 'Geeks'}> Complexitatea timpului: O(n), unde n este lungimea șirului de intrare, a listei, a tuplului sau a dicționarului.
Spatiu auxiliar: O(n), unde n este lungimea șirului de intrare, a listei, a tuplului sau a dicționarului.
Un set Python conține doar elemente unice, dar în momentul creării setului, pot fi transmise și mai multe valori duplicate. Ordinea elementelor dintr-un set Python este nedefinită și nu poate fi schimbată. Tipul de elemente dintr-un set nu trebuie să fie același, diferite valori de tip de date amestecate pot fi, de asemenea, transmise setului.
lingurita vs linguraPython3
# Creating a Set with a List of Numbers # (Having duplicate values) set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5]) print('
Set with the use of Numbers: ') print(set1) # Creating a Set with a mixed type of values # (Having numbers and strings) set1 = set([1, 2, 'Geeks', 4, 'For', 6, 'Geeks']) print('
Set with the use of Mixed Values') print(set1)> Ieșire
Set with the use of Numbers: {1, 2, 3, 4, 5, 6} Set with the use of Mixed Values {1, 2, 4, 6, 'Geeks', 'For'}> Crearea unui set Python cu o altă metodă
În acest exemplu, un set este creat folosind acolade {}, care conține numărul 1,2 și 3. Structura de date set în Python sau setul neordonat în Python sunt colecții neordonate de elemente unice, făcându-le potrivite pentru sarcini care necesită unicitate și setați operațiuni în Python.
Python3 # Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)> Ieșire
{1, 2, 3}> Adăugarea de elemente la un set în Python
Mai jos sunt câteva dintre abordările prin care putem adăuga elemente la un set în Python:
- Folosind metoda add().
- Folosind metoda update().
Folosind metoda add().
Elementele pot fi adăugate laSe setează în Pythonprin folosirea încorporată adăuga() funcţie. Doar un element la un moment dat poate fi adăugat la set utilizând metoda add(), buclele sunt folosite pentru a adăuga mai multe elemente simultan cu utilizarea metodei add().
Python3Notă: Listele nu pot fi adăugate la un set ca elemente, deoarece Listele nu sunt hashabile, în timp ce tuplurile pot fi adăugate deoarece tuplurile sunt imuabile și, prin urmare, hashable.
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Adding element and tuple to the Set set1.add(8) set1.add(9) set1.add((6, 7)) print('
Set after Addition of Three elements: ') print(set1) # Adding elements to the Set # using Iterator for i in range(1, 6): set1.add(i) print('
Set after Addition of elements from 1-5: ') print(set1)> Ieșire
Initial blank Set: set() Set after Addition of Three elements: {8, 9, (6, 7)} Set after Addition of elements from 1-5: {1, 2, 3, (6, 7), 4, 5, 8, 9}> Folosind metoda update().
Pentru adăugarea a două sau mai multe elemente, se folosește metoda Update(). Metoda update() acceptă liste, șiruri de caractere, tupluri, precum și alte seturi hash Python ca argumente. În toate aceste cazuri, elementele duplicat sunt evitate.
Python3 # Addition of elements to the Set # using Update function set1 = set([4, 5, (6, 7)]) set1.update([10, 11]) print('
Set after Addition of elements using Update: ') print(set1)> Ieșire
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}> Accesarea unui set în Python
Elementele setului nu pot fi accesate prin referire la un index, deoarece seturile sunt neordonate, articolele nu au index. Dar puteți parcurge elementele setului hash Python folosind o buclă for sau puteți întreba dacă o valoare specificată este prezentă într-un set, folosind cuvântul cheie in.
jframePython3
# Creating a set set1 = set(['Geeks', 'For', 'Geeks.']) print('
Initial set') print(set1) # Accessing element using # for loop print('
Elements of set: ') for i in set1: print(i, end=' ') # Checking the element # using in keyword print('
') print('Geeks' in set1)> Ieșire
Initial set {'Geeks.', 'For', 'Geeks'} Elements of set: Geeks. For Geeks True>Eliminarea elementelor din set în Python
Mai jos sunt câteva dintre modalitățile prin care putem elimina elemente din set în Python:
- Folosind metoda remove() sau metoda discard().
- Folosind metoda pop().
- Folosind metoda clear().
Folosind metoda remove() sau metoda discard().
Elementele pot fi îndepărtate dinSe setează în Pythonfolosind funcția încorporată remove(), dar apare o KeyError dacă elementul nu există în hashset-ul Python. Pentru a elimina elemente dintr-un set fără KeyError, utilizați discard(), dacă elementul nu există în set, acesta rămâne neschimbat.
Python3 # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing elements from Set using Remove() method set1.remove(5) set1.remove(6) print('
Set after Removal of two elements: ') print(set1) # Removing elements from Set using Discard() method set1.discard(8) set1.discard(9) print('
Set after Discarding two elements: ') print(set1) # Removing elements from Set using iterator method for i in range(1, 5): set1.remove(i) print('
Set after Removing a range of elements: ') print(set1)> Ieșire
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after Removal of two elements: {1, 2, 3, 4, 7, 8, 9, 10, 11, 12} Set after Discarding two elements: {1, 2, 3, 4, 7, 10, 11, 12} Set after Removing a range of elements: {7, 10, 11, 12}> Folosind metoda pop().
Funcția Pop() poate fi folosită și pentru a elimina și returna un element din set, dar elimină doar ultimul element al setului.
Python3Notă: Dacă setul este neordonat, atunci nu există o astfel de modalitate de a determina ce element apare folosind funcția pop().
arbore binar în java
# Python program to demonstrate # Deletion of elements in a Set # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print('Initial Set: ') print(set1) # Removing element from the # Set using the pop() method set1.pop() print('
Set after popping an element: ') print(set1)> Ieșire
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after popping an element: {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}> Folosind metoda clear().
Pentru a elimina toate elementele din set, se folosește funcția clear().
Python3 #Creating a set set1 = set([1,2,3,4,5]) print('
Initial set: ') print(set1) # Removing all the elements from # Set using clear() method set1.clear() print('
Set after clearing all the elements: ') print(set1)> Ieșire
Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()> ÎngheţatSe setează în Python
Seturi congelate în Python sunt obiecte imuabile care acceptă doar metode și operatori care produc un rezultat fără a afecta setul sau seturile înghețate la care sunt aplicate. În timp ce elementele unui set pot fi modificate în orice moment, elementele setului înghețat rămân aceleași după creare.
Dacă nu sunt transmise parametri, returnează un set înghețat gol.
Python3 # Python program to demonstrate # working of a FrozenSet # Creating a Set String = ('G', 'e', 'e', 'k', 's', 'F', 'o', 'r') Fset1 = frozenset(String) print('The FrozenSet is: ') print(Fset1) # To print Empty Frozen Set # No parameter is passed print('
Empty FrozenSet: ') print(frozenset())> Ieșire
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()> Transformarea obiectelor în seturi
În acest exemplu, liste , șiruri și dicționare sunt convertite în seturi folosind a stabilit() constructor, eliminând duplicatele din liste și extragând elemente unice din șiruri și chei de dicționar.
Python3 # Typecasting list into set my_list = [1, 2, 3, 3, 4, 5, 5, 6, 2] my_set = set(my_list) print('my_list as a set: ', my_set) # Typecasting string into set my_str = 'techcodeview.com' my_set1 = set(my_str) print('my_str as a set: ', my_set1) # Typecasting dictionary into set my_dict = {1: 'One', 2: 'Two', 3: 'Three'} my_set2 = set(my_dict) print('my_dict as a set: ', my_set2)> Ieșire
my_list as a set: {1, 2, 3, 4, 5, 6} my_str as a set: {'G', 'f', 'r', 'e', 'k', 'o', 's'} my_dict as a set: {1, 2, 3}> Exemplu: Implementarea tuturor funcțiilor
În acest exemplu, o serie de funcții demonstrează operațiuni comunese setează în Python. Acestea includ crearea unui set, adăugarea și eliminarea elementelor, ștergerea mulțimii, efectuarea operațiunilor de unire a mulțimii, intersecție, diferență, diferență simetrică, submulțime și supraset.
Python3 def create_set(): my_set = {1, 2, 3, 4, 5} print(my_set) def add_element(): my_set = {1, 2, 3, 4, 5} my_set.add(6) print(my_set) def remove_element(): my_set = {1, 2, 3, 4, 5} my_set.remove(3) print(my_set) def clear_set(): my_set = {1, 2, 3, 4, 5} my_set.clear() print(my_set) def set_union(): set1 = {1, 2, 3} set2 = {4, 5, 6} my_set = set1.union(set2) print(my_set) def set_intersection(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.intersection(set2) print(my_set) def set_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.difference(set2) print(my_set) def set_symmetric_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.symmetric_difference(set2) print(my_set) def set_subset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} subset = set2.issubset(set1) print(subset) def set_superset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} superset = set1.issuperset(set2) print(superset) if __name__ == '__main__': create_set() add_element() remove_element() clear_set() set_union() set_intersection() set_difference() set_symmetric_difference() set_subset() set_superset()> Ieșire
{1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 6} {1, 2, 4, 5} set() {1, 2, 3, 4, 5, 6} {4, 5} {1, 2, 3} {1, 2, 3, 6, 7, 8} True True> Avantajele Set in Python
- Elemente unice : Seturile pot conține doar elemente unice, astfel încât acestea pot fi utile pentru eliminarea duplicatelor dintr-o colecție de date.
- Testare rapidă de membru : Seturile sunt optimizate pentru testarea rapidă a membrilor, astfel încât pot fi utile pentru a determina dacă o valoare se află sau nu într-o colecție.
- Operații matematice cu multime: Seturile acceptă operații de seturi matematice, cum ar fi unirea, intersecția și diferența, care pot fi utile pentru lucrul cu seturi de date.
- Mutabil : Seturile sunt modificabile, ceea ce înseamnă că puteți adăuga sau elimina elemente dintr-un set după ce acesta a fost creat.
Dezavantaje aleSe setează în Python
- Neordonat : Seturile sunt neordonate, ceea ce înseamnă că nu vă puteți baza pe ordinea datelor din set. Acest lucru poate face dificilă accesarea sau procesarea datelor într-o anumită ordine.
- Funcționalitate limitată: Seturile au o funcționalitate limitată în comparație cu listele, deoarece nu acceptă metode precum append() sau pop(). Acest lucru poate face mai dificilă modificarea sau manipularea datelor stocate într-un set.
- Folosirea memoriei: Seturile pot consuma mai multă memorie decât listele, în special pentru seturile de date mici. Acest lucru se datorează faptului că fiecare element dintr-un set necesită memorie suplimentară pentru a stoca o valoare hash.
- Mai puțin folosit: Seturile sunt mai puțin utilizate decât listele și dicționarele în Python, ceea ce înseamnă că pot fi mai puține resurse sau biblioteci disponibile pentru a lucra cu ele. Acest lucru poate face mai dificilă găsirea de soluții la probleme sau obținerea de ajutor pentru depanare.
În general, seturile pot fi o structură de date utilă în Python, în special pentru eliminarea duplicatelor sau pentru testarea rapidă a membrilor. Cu toate acestea, lipsa lor de ordonare și funcționalitatea limitată le pot face, de asemenea, mai puțin versatile decât listele sau dicționarele, așa că este important să luați în considerare cu atenție avantajele și dezavantajele utilizării seturilor atunci când decideți ce structură de date să utilizați în programul dvs. Python.
Setați metode în Python
| Funcţie | Descriere |
|---|---|
| adăuga() | Adaugă un element la un set |
| elimina() | Îndepărtează un element dintr-un set. Dacă elementul nu este prezent în set, ridicați o KeyError |
| clar() | Îndepărtează toate elementele dintr-un set |
| copie() | Returnează o copie superficială a unui set |
| pop() | Îndepărtează și returnează un element set arbitrar. Ridicați KeyError dacă setul este gol |
| Actualizați() | Actualizează un set cu unirea lui însuși și a altora |
| uniune() | Returnează uniunea mulțimilor într-un nou set |
| diferență() | Returnează diferența a două sau mai multe seturi ca un set nou |
| difference_update() | Elimină toate elementele altui set din acest set |
| arunca() | Îndepărtează un element din set dacă este un membru. (Nu faceți nimic dacă elementul nu este în set) |
| intersecție() | Returnează intersecția a două mulțimi ca o mulțime nouă |
| intersection_update() | Actualizează setul cu intersecția dintre el însuși și altul |
| este disjunct() | Returnează True dacă două mulțimi au o intersecție nulă |
| issubset() | Returnează True dacă un alt set conține acest set |
| superset() | Returnează True dacă acest set conține un alt set |
| diferență_simetrică() | Returnează diferența simetrică a două seturi ca un set nou |
| simetric_difference_update() | Actualizează un set cu diferența simetrică dintre el însuși și altul |
Articole recente despre seturile Python
Setați programe
- Program de acceptare a șirurilor care conține toate vocalele
- Program Python pentru a găsi elemente comune în trei liste folosind seturi
- Găsiți valorile lipsă și suplimentare în două liste
- Perechi de șiruri complete în două seturi
- Verificați dacă un șir dat este heterogramă sau nu
- Maxim și minim într-un set
- Eliminați articole din Set
- Python Setați diferența pentru a găsi elementul pierdut dintr-o matrice duplicată
- Număr minim de subseturi cu elemente distincte folosind Counter
- Verificați dacă două liste au cel puțin un element comun
- Program pentru a număra numărul de vocale folosind seturi din șirul dat
- Diferența dintre două liste
- Python a setat să verifice dacă șirul este panagram
- Operații de set Python (unire, intersecție, diferență și diferență simetrică)
- Șir concatenat cu caractere neobișnuite în Python
- Dicționar Python, set și contor pentru a verifica dacă frecvențele pot deveni aceleași
- Folosind Set() în Python Pangram Checking
- Setați update() în Python pentru a face unirea de n tablouri
Link-uri utile
- Ieșirea programelor Python – Seturi
- Articole recente despre seturile Python
- Întrebări cu alegere multiplă – Python
- Toate articolele din categoria Python