5.14 sets -- Raccolte non ordinate di elementi distinti (Insiemi)

Nuovo nella versione 2.3.

Il modulo sets fornisce classi per la costruzione e la manipolazione di raccolte non ordinate di elementi distinti. Si possono usare per test di appartenenza, per rimuovere duplicati da una sequenza e per calcolare le operazioni matematiche standard sugli insiemi come l'intersezione, l'unione, la differenza e la differenza simmetrica.

Come le altre raccolte, sets supporta x in set, len(set) e for x in set. Essendo una raccolta non ordinata, sets non memorizza la posizione degli elementi o l'ordine di inserimento. Di conseguenza, sets non supporta l'indicizzazione, l'affettamento o altre caratteristiche proprie delle sequenze.

La maggior parte delle applicazioni insiemistiche utilizza la classe Set che fornisce tutti i metodi per la gestione degli insiemi eccetto __hash__(). Per applicazioni avanzate che richiedono un metodo hash, la classe ImmutableSet aggiunge un metodo __hash__(), ma non possiede i metodi che alterano il contenuto dell'insieme. Sia Set che ImmutableSet derivano da BaseSet, una classe astratta utile per definire che cosa sia un insieme: isinstance(obj, BaseSet).

Le classi set vengono implementate usando i dizionari. Di conseguenza, gli insiemi non possono contenere elementi mutabili come liste o dizionari. In ogni caso possono contenere raccolte immutabili come tuple o istanze di ImmutableSet. Per praticità nell'implementazione di insiemi di insiemi, gli insiemi nidificati vengono automaticamente convertiti nella loro forma immutabile, per esempio: Set([Set(['dog'])]) viene trasformato in Set([ImmutableSet(['dog'])]).

class Set( [iterable])
Costruisce un nuovo oggetto Set vuoto. Se è presente il parametro facoltativo iterable, l'insieme viene riempito con gli elementi ottenuti dall'iterazione. Tutti gli elementi di iterable dovrebbero essere immutabili o poter essere trasformati in immutabili utilizzando il protocollo descritto nella sezione 5.14.3.

class ImmutableSet( [iterable])
Costruisce un nuovo oggetto ImmutableSet vuoto. Se è presente il parametro facoltativo iterable, l'insieme viene riempito con gli elementi ottenuti dall'iterazione. Tutti gli elementi di iterable dovrebbero essere immutabili o poter essere trasformati in immutabili utilizzando il protocollo descritto nella sezione 5.14.3.

Poiché gli oggetti ImmutableSet forniscono un metodo __hash__(), essi possono essere utilizzati come elementi di un insieme o come chiavi di un dizionario. Gli oggetti ImmutableSet non possiedono metodi per aggiungere o rimuovere elementi, perciò tutti gli elementi devono essere noti al momento della chiamata al costruttore.



Subsections
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy