Python LanguageImpostato

Sintassi

  • empty_set = set () # inizializza un set vuoto
  • literal_set = {'foo', 'bar', 'baz'} # costruisce un set con 3 stringhe al suo interno
  • set_from_list = set (['foo', 'bar', 'baz']) # chiama la funzione set per un nuovo set
  • set_from_iter = set (x per x in range (30)) # usa iterables arbitrari per creare un set
  • set_from_iter = {x per x in [random.randint (0,10) per i in range (10)]} # notazione alternativa

Osservazioni

Gli insiemi sono non ordinati e hanno un tempo di ricerca molto veloce (ammortizzato O (1) se si vuole ottenere tecnico). È fantastico da usare quando si ha una collezione di cose, l'ordine non ha importanza, e cercherete articoli per nome molto. Se ha più senso cercare gli articoli per un numero di indice, prendere in considerazione l'uso di un elenco. Se l'ordine è importante, considera anche un elenco.

Gli insiemi sono mutabili e quindi non possono essere sottoposti a hash, quindi non puoi usarli come chiavi del dizionario o metterli in altri set, o in qualsiasi altro posto che richiede tipi lavabili. In questi casi, puoi usare un frozenset immutabile.

Gli elementi di un set devono essere lavabili . Ciò significa che hanno un metodo __hash__ corretto, che è coerente con __eq__ . In generale, i tipi mutabili come la list o il set non sono lavabili e non possono essere messi in un set. Se si verifica questo problema, considerare l'utilizzo di chiavi dict e immutabili.

Impostato Esempi correlati