Python Set è una raccolta non ordinata di tipi di dati che è iterabile, mutabile e non ha elementi duplicati. L'ordine degli elementi in un insieme non è definito sebbene possa essere costituito da vari elementi. Il vantaggio principale dell'utilizzo di un set, rispetto a un elenco, è che dispone di un metodo altamente ottimizzato per verificare se un elemento specifico è contenuto nel set. Qui vedremo cos'è un set in Python e vedremo anche diversi esempi di set Python.
Creazione di un set in Python
I set Python possono essere creati utilizzando il metodo integrato impostato() funzionare con un oggetto iterabile o una sequenza inserendo la sequenza tra parentesi graffe, separate da una 'virgola'.
Python3Nota: Un set Python non può avere elementi mutabili come un elenco o un dizionario, poiché è immutabile.
# 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))>
Produzione
cosa è autowired in 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'}>
Complessità temporale: O(n), dove n è la lunghezza della stringa, dell'elenco, della tupla o del dizionario di input.
Spazio ausiliario: O(n), dove n è la lunghezza della stringa, dell'elenco, della tupla o del dizionario di input.
Un set Python contiene solo elementi univoci ma al momento della creazione del set possono essere passati anche più valori duplicati. L'ordine degli elementi in un set Python non è definito ed è immutabile. Il tipo di elementi in un set non deve essere necessariamente lo stesso, è possibile passare al set anche vari valori di tipi di dati confusi.
caricamento di JavascriptPython3
# 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)>
Produzione
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'}>
Creazione di un set Python con un altro metodo
In questo esempio, un set viene creato utilizzando la notazione delle parentesi graffe {}, contenente i numeri 1,2 e 3. La struttura dei dati dell'insieme in Python o l'insieme non ordinato in Python sono raccolte non ordinate di elementi univoci, che li rendono adatti per attività che richiedono unicità e impostare operazioni in Python.
Python3 # Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)>
Produzione
{1, 2, 3}>
Aggiunta di elementi a un set in Python
Di seguito sono riportati alcuni degli approcci con cui possiamo aggiungere elementi a un set in Python:
- Utilizzando il metodo add()
- Utilizzando il metodo update()
Utilizzando il metodo add()
È possibile aggiungere elementi al fileImposta in Pythonutilizzando il built-in aggiungere() funzione. È possibile aggiungere un solo elemento alla volta al set utilizzando il metodo add(), i loop vengono utilizzati per aggiungere più elementi alla volta con l'uso del metodo add().
Python3Nota: Gli elenchi non possono essere aggiunti a un set come elementi perché gli elenchi non sono hashable mentre le tuple possono essere aggiunte perché le tuple sono immutabili e quindi 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)>
Produzione
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}>
Utilizzando il metodo update()
Per l'aggiunta di due o più elementi viene utilizzato il metodo Update(). Il metodo update() accetta liste, stringhe, tuple e altri set di hash Python come argomenti. In tutti questi casi, si evitano elementi duplicati.
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)>
Produzione
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}>
Accesso a un set in Python
Non è possibile accedere agli elementi del set facendo riferimento a un indice, poiché i set non sono ordinati e gli elementi non hanno un indice. Ma puoi scorrere gli elementi del set di hash Python usando un ciclo for o chiedere se un valore specificato è presente in un set, usando la parola chiave in.
Python3 # 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)>
Produzione
Initial set {'Geeks.', 'For', 'Geeks'} Elements of set: Geeks. For Geeks True>
Rimozione di elementi dal set in Python
Di seguito sono riportati alcuni dei modi in cui possiamo rimuovere elementi dal set in Python:
- Utilizzando il metodo rimuovi() o il metodo scarta()
- Utilizzando il metodo pop()
- Utilizzando il metodo clear()
Utilizzando il metodo rimuovi() o il metodo scarta()
Gli elementi possono essere rimossi dal fileImposta in Pythonutilizzando la funzione incorporata Remove() ma si verifica un KeyError se l'elemento non esiste nell'hashset Python. Per rimuovere elementi da un set senza KeyError, usa scarte(), se l'elemento non esiste nel set, rimane invariato.
jframePython3
# 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)>
Produzione
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}>
Utilizzando il metodo pop()
La funzione Pop() può anche essere utilizzata per rimuovere e restituire un elemento dal set, ma rimuove solo l'ultimo elemento del set.
Python3Nota: Se l'insieme non è ordinato, non esiste un modo per determinare quale elemento viene estratto utilizzando la funzione pop().
# 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)>
Produzione
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}>
Utilizzando il metodo clear()
Per rimuovere tutti gli elementi dall'insieme, viene utilizzata la funzione clear().
matrice di stringhe di codici cPython3
#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)>
Produzione
Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()>
CongelatoImposta in Python
Set congelati in Python sono oggetti immutabili che supportano solo metodi e operatori che producono un risultato senza influenzare l'insieme o gli insiemi congelati a cui vengono applicati. Mentre gli elementi di un set possono essere modificati in qualsiasi momento, gli elementi del set congelato rimangono gli stessi dopo la creazione.
Se non vengono passati parametri, restituisce un frozenset vuoto.
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())>
Produzione
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()>
Typecasting di oggetti in insiemi
In questo esempio, elenchi , stringhe e dizionari vengono convertiti in set utilizzando il metodo impostato() costruttore, eliminando i duplicati negli elenchi ed estraendo elementi univoci nelle stringhe e nelle chiavi del dizionario.
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)>
Produzione
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}>
Esempio: implementazione di tutte le funzioni
In questo esempio, una serie di funzioni dimostrano le operazioni comuni suimposta in Python. Queste includono la creazione di un insieme, l'aggiunta e la rimozione di elementi, la cancellazione dell'insieme, l'esecuzione di operazioni di unione di insiemi, intersezione, differenza, differenza simmetrica, sottoinsieme e superinsieme.
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()>
Produzione
{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>
Vantaggi di Set in Python
- Elementi Unici : i set possono contenere solo elementi univoci, quindi possono essere utili per rimuovere duplicati da una raccolta di dati.
- Test di adesione rapido : gli insiemi sono ottimizzati per il test rapido dell'appartenenza, quindi possono essere utili per determinare se un valore è presente o meno in una raccolta.
- Operazioni matematiche sugli insiemi: Gli insiemi supportano operazioni matematiche sugli insiemi come unione, intersezione e differenza, che possono essere utili per lavorare con insiemi di dati.
- Mutevole : gli insiemi sono modificabili, il che significa che puoi aggiungere o rimuovere elementi da un insieme dopo che è stato creato.
Svantaggi diImposta in Python
- Non ordinato : gli insiemi non sono ordinati, il che significa che non è possibile fare affidamento sull'ordine dei dati nell'insieme. Ciò può rendere difficile l'accesso o l'elaborazione dei dati in un ordine specifico.
- Funzionalità limitata: Gli insiemi hanno funzionalità limitate rispetto agli elenchi, poiché non supportano metodi come append() o pop(). Ciò può rendere più difficile la modifica o la manipolazione dei dati archiviati in un set.
- Utilizzo della memoria: I set possono consumare più memoria degli elenchi, soprattutto per i set di dati di piccole dimensioni. Questo perché ogni elemento di un set richiede memoria aggiuntiva per memorizzare un valore hash.
- Meno comunemente usato: I set sono usati meno comunemente degli elenchi e dei dizionari in Python, il che significa che potrebbero esserci meno risorse o librerie disponibili per lavorare con essi. Ciò può rendere più difficile trovare soluzioni ai problemi o ottenere aiuto con il debug.
Nel complesso, i set possono essere una struttura dati utile in Python, soprattutto per rimuovere duplicati o per testare velocemente l'appartenenza. Tuttavia, la loro mancanza di ordinamento e le funzionalità limitate possono anche renderli meno versatili di elenchi o dizionari, quindi è importante considerare attentamente i vantaggi e gli svantaggi dell'utilizzo degli insiemi quando si decide quale struttura dati utilizzare nel programma Python.
Impostare metodi in Python
Funzione | Descrizione |
---|---|
aggiungere() | Aggiunge un elemento a un set |
rimuovere() | Rimuove un elemento da un insieme. Se l'elemento non è presente nel set, solleva un KeyError |
chiaro() | Rimuove tutti gli elementi da un set |
copia() | Restituisce una copia superficiale di un set |
pop() | Rimuove e restituisce un elemento set arbitrario. Solleva KeyError se il set è vuoto |
aggiornamento() | Aggiorna un set con l'unione di se stesso e degli altri |
unione() | Restituisce l'unione degli insiemi in un nuovo insieme |
differenza() | Restituisce la differenza di due o più set come un nuovo set |
differenza_aggiornamento() | Rimuove tutti gli elementi di un altro set da questo set |
scartare() | Rimuove un elemento dal set se è un membro. (Non fare nulla se l'elemento non è nel set) |
intersezione() | Restituisce l'intersezione di due insiemi come un nuovo insieme |
intersezione_aggiornamento() | Aggiorna l'insieme con l'intersezione di se stesso e di un altro |
è disgiunto() | Restituisce Vero se due insiemi hanno un'intersezione nulla |
issubset() | Restituisce True se un altro set contiene questo set |
superinsieme() | Restituisce True se questo insieme contiene un altro insieme |
differenza_simmetrica() | Restituisce la differenza simmetrica di due insiemi come un nuovo insieme |
aggiornamento_differenza_simmetrica() | Aggiorna un set con la differenza simmetrica tra se stesso e un altro |
Articoli recenti sui set Python
Imposta programmi
- Programma per accettare le stringhe che contengono tutte le vocali
- Programma Python per trovare elementi comuni in tre elenchi utilizzando gli insiemi
- Trova i valori mancanti e aggiuntivi in due elenchi
- Coppie di corde complete in due set
- Controlla se una determinata stringa è eterogramma o meno
- Massimo e minimo in un insieme
- Rimuovi elementi dal set
- Python Imposta la differenza per trovare l'elemento perduto da un array duplicato
- Numero minimo di sottoinsiemi con elementi distinti utilizzando Counter
- Controlla se due liste hanno almeno un elemento in comune
- Programma per contare il numero di vocali utilizzando gli insiemi in una determinata stringa
- Differenza tra due elenchi
- Python impostato per verificare se la stringa è panagramma
- Operazioni sugli insiemi di Python (unione, intersezione, differenza e differenza simmetrica)
- Stringa concatenata con caratteri non comuni in Python
- Dizionario Python, imposta e conta per verificare se le frequenze possono diventare le stesse
- Utilizzo di Set() nel controllo Pangram di Python
- Imposta update() in Python per eseguire l'unione di n array
link utili
- Output di programmi Python – Insiemi
- Articoli recenti sui set Python
- Domande a scelta multipla – Python
- Tutti gli articoli nella categoria Python