Vyhledávání na webu

Naučte se datovou strukturu sady Python/Frozenset – část 4


V této Části 4 série Python Data Structure budeme diskutovat o tom, co je sada, jak se liší od jiné datové struktury v pythonu, jak vytvářet objekty sady, mazat objekty sady a metody objektů sady. .

  • Objekt sady je neuspořádaná sbírka různých hašovatelných objektů.
  • Sada automaticky odstraní duplicitní položky z objektu.
  • Vzhledem k tomu, že objekty sady nejsou seřazeny, není podporována žádná operace indexování a dělení.

V současné době existují dva typy vestavěných sad.

  1. množina – Vzhledem k tomu, že je proměnná, nemá žádnou hodnotu hash a nelze ji použít ani jako klíč slovníku, ani jako prvek jiné sady.
  2. frozenset – Immutable and hashable – jeho obsah nelze po vytvoření měnit; lze jej tedy použít jako klíč slovníku nebo jako prvek jiné sady.

Sestavit objekt sady

Vytvořte sadu pomocí konstruktorové metody “set()” nebo pomocí složených závorek s čárkou oddělující prvky “{a,b,c}”.

POZNÁMKA: Objekt sady nelze vytvořit pomocí prázdných složených závorek, protože vytvoří objekt slovníku.

Nastavit metody

Použijte vestavěnou funkci “dir()” k zobrazení seznamu dostupných metod a atributů sady.

Přidat prvky k objektu sady

Jak již bylo řečeno, set je proměnlivý typ. Jakmile je vytvořený objekt sady, můžete jej přidávat, odstraňovat a aktualizovat.

Promluvme si o metodě dvou sad add a update.

  • metoda add(elem) – Tato metoda přidá jeden prvek k objektu sady.
  • Metoda update(*others) – Tato metoda přidává do nastaveného objektu více prvků. Proměnlivé/neměnné objekty můžete předat jako argument v metodě aktualizace.

POZNÁMKA: Duplikáty budou automaticky odstraněny.

Odebrat/Vymazat prvky z nastaveného objektu

Jak jste viděli dříve v jiném tématu datové struktury (seznam, n-tice, slovník), pro set můžete také použít vestavěné klíčové slovo “del“ k odstranění objektu sady z jmenného prostoru (tj. Paměť).

Níže jsou uvedeny metody pro nastavení objektů k odstranění prvků.

  • clear() – Vymaže všechny prvky, čímž je sada prázdná. Tato metoda clear() je dostupná v jiných datových strukturách poskytujících stejnou funkcionalitu.
  • pop() – Odstraní libovolné prvky.
  • discard(elem) – Pokud položka není nalezena v nastaveném objektu, pak metoda “discard()” nevyvolá žádnou chybu.
  • remove(elem) – Stejné jako metoda “discard()”, ale vyvolá KeyError, když nebude položka nalezena.

Nastavení operací

Sada poskytuje metody pro provádění matematických operací, jako je průnik, sjednocení, rozdíl a symetrický rozdíl. Pamatujete si „Vennův diagram“ z vašich středoškolských let?

Podíváme se na níže uvedené metody, jak se provádějí matematické operace.

  • svaz
  • průsečík
  • křižovatka_aktualizace
  • symetrický_rozdíl
  • symmetric_difference_update
  • rozdíl
  • rozdíl_aktualizace
  • je disjunktní
  • je podmnožina
  • Issuperset

Union, Intersectio, Difference, Symmetric_Difference

  • union(*other) – vrátí novou sadu s prvky ze sady a všech ostatních.
  • intersection(*other) – Vrátí novou sadu s prvky společnými pro množinu a všechny ostatní.
  • difference(*others) – vrátí novou sadu s prvky v sadě, které nejsou v ostatních.
  • symmetric_difference(other) – Vrátí novou sadu s prvky buď v sadě, nebo v jiné, ale ne v obou.

Intersection_Update

intersection_update(*others) – Aktualizujte sadu a ponechte pouze prvky v ní nalezené a všechny ostatní.

Aktualizace rozdílu

difference_update(*others) – Aktualizujte sada, zachovejte pouze prvky nalezené v ní a všech ostatních.

Symmetric_Difference_Update

symmetric_difference_update(other) – Aktualizujte sadu a zachovejte pouze prvky nalezené v které které sadě, ale ne v obou.

Isdisjoint, Issubset, Issuperset

  • isdisjoint(other) – Vrátí True , pokud sada nemá žádné společné prvky s ostatním. Množiny jsou nespojené když a jen když jejich průsečík je prázdná množina.
  • issubset() – Otestujte, zda každý prvek v sadě je v jiném.
  • issuperset() – Otestujte, zda každý prvek v druhém je v sadě.

Metoda Copy().

Pomocí metody copy() můžete vytvořit identickou kopii existujícího objektu sady. Tato metoda je dostupná i pro jiné typy datových struktur, jako je seznam, slovník atd…

Odstraňte nastavený objekt ze jmenného prostoru pomocí vestavěného klíčového slova “del”.

Zmrazená sada

  • Zmrazená sada je neměnného typu. Po vytvoření již nemůžete přidávat, odebírat ani aktualizovat prvky ze seznamu.
  • Zmrazená množina, která je neměnná, je hašovatelná a lze ji použít jako “klíč“ pro slovníky nebo prvky pro jiný objekt množiny.
  • Frozen set je konstruován pomocí funkce “frozenset()”.
  • Frozen set poskytuje stejnou sadu metod ve srovnání s „set“ jako union(), intersection, copy(), isdisjoint() atd.

souhrn

V tomto článku jste viděli, co je nastaveno, rozdíl mezi sadou a zmrazenou sadou, jak vytvořit a přistupovat k prvkům sady, nastavit metody atd…