Leer Python Set / Frozenset-gegevensstructuur - Deel 4


In dit deel 4 van de Python Data Structure-serie zullen we bespreken wat een set is, hoe het verschilt van andere datastructuren in Python, hoe set-objecten te maken, set-objecten te verwijderen en methoden van set-objecten.

  • A set object is an unordered collection of distinct hashable objects.
  • Set automatically removes duplicate items from the object.
  • Since set objects are unordered, no indexing and slicing operation is supported.

Er zijn momenteel twee soorten ingebouwde sets.

  1. set – Since it is mutable, it has no hash value and cannot be used as either a dictionary key or as an element of another set.
  2. frozenset – Immutable and hashable – its contents cannot be altered after it is created; it can, therefore, be used as a dictionary key or as an element of another set.

Stel een object samen

Maak een set met de constructormethode "set ()" of gebruik accolades met komma's die de elementen "{a, b, c}" scheiden.

OPMERKING: u kunt geen ingesteld object construeren door middel van lege accolades, omdat het een woordenboekobject zal creëren.

Stel methoden in

Gebruik de ingebouwde functie "dir ()" om de beschikbare setmethoden en attributen weer te geven.

Voeg elementen toe om een u200bu200bobject in te stellen

Zoals reeds vermeld, is set een veranderlijk type. U kunt uw ingestelde object toevoegen, verwijderen en bijwerken zodra het is gemaakt.

Laten we het hebben over het toevoegen en bijwerken van twee sets methoden.

  • add(elem) method – This method adds a single element to a set object.
  • update(*others) method – This method adds multiple elements to a set object. You can pass mutable/immutable objects as an argument in the update method.

OPMERKING: duplicaten worden automatisch verwijderd.

Elementen verwijderen / wissen uit een ingesteld object

Zoals je eerder hebt gezien in een ander datastructuuronderwerp (lijst, tupels, woordenboek), kun je voor set ook het ingebouwde trefwoord "del" gebruiken om het ingestelde object uit de naamruimte te verwijderen (d.w.z. geheugen).

Hieronder staan u200bu200bde methoden voor set-objecten om elementen te verwijderen.

  • clear() – Will clear all the elements making the set empty. This clear() method is available in other data structures providing the same functionality.
  • pop() – Removes arbitrary elements.
  • discard(elem) – If the item is not found in the set object then “discard()” method will not raise any error.
  • remove(elem) – Same like “discard()” method but it will raise KeyError when an item is not found.

Stel bewerkingen in

Set biedt methoden om wiskundige bewerkingen uit te voeren, zoals snijpunt, vereniging, verschil en symmetrisch verschil. Herinner je je het "Venn-diagram" nog van je middelbare schooldagen?

We zullen de onderstaande methoden bekijken over hoe wiskundige bewerkingen worden uitgevoerd.

  • union
  • intersection
  • intersection_update
  • symmetric_difference
  • symmetric_difference_update
  • difference
  • difference_update
  • isdisjoint
  • issubset
  • issuperset
  • union(*other) – Return a new set with elements from the set and all others.
  • intersection(*other) – Return a new set with elements common to the set and all others.
  • difference(*others) – Return a new set with elements in the set that are not in the others.
  • symmetric_difference(other) – Return a new set with elements in either the set or other but not both.

intersection_update (* others) - Update de set, waarbij alleen de elementen die erin worden gevonden en alle andere behouden blijven.

differentie_update (* anderen) - Update de set, waarbij alleen de elementen die erin zijn gevonden en alle andere behouden blijven.

symmetric_difference_update (other) - Update de set, waarbij alleen elementen in beide sets behouden blijven, maar niet in beide.

  • isdisjoint(other) – Return True if the set has no elements in common with other. Sets are disjoint if and only if their intersection is the empty set.
  • issubset() – Test whether every element in the set is in another.
  • issuperset() – Test whether every element in the other is in the set.

U kunt een identieke kopie van een bestaand setobject maken met de methode copy (). Deze methode is ook beschikbaar voor andere typen gegevensstructuren zoals lijst, woordenboek enz ...

Verwijder het ingestelde object uit de naamruimte met behulp van een ingebouwd "del" -sleutelwoord.

  • Frozen set is immutable type. Once constructed you cannot add, remove or update elements from the list.
  • Frozen set being immutable are hashable, can be used as a “key” for dictionaries or elements for another set object.
  • Frozen set is constructed using “frozenset()” function.
  • Frozen set provides same set of methods in comparison to “set” like union(), intersection, copy(), isdisjoint() etc.

In dit artikel heb je gezien wat er is ingesteld, het verschil tussen set en bevroren set, hoe je de set-elementen kunt maken en openen, set-methoden enz ...