Přejít na hlavní obsah

Jak vytvořit set: podrobný průvodce pro začátečníky

Set je jednou z hlavních datových struktur v programování, což je sbírka jedinečných prvků neuspořádaných a bez opakování. Vytvoření sady může být užitečné při práci s velkým množstvím dat, kdy je důležité rychle identifikovat jedinečné hodnoty a odstranit duplikáty.

Vytvoření sady v Pythonu, jednom z nejběžnějších programovacích jazyků, je velmi snadné. Pro začátek definujeme prázdnou množinu pomocí tvarovaných závorek: <>. Poté, Chcete-li vytvořit množinu s počátečními prvky, jednoduše je vypíšeme čárkou uvnitř závorek. Chcete-li například vytvořit množinu s čísly od 1 do 5, můžeme napsat:

Také můžeme použít funkci set() vytvořit set. Chcete-li například vytvořit set ze seznamu čísel, můžeme napsat:

Byl to stručný úvod do tvorby set. Dále se podíváme na různé operace a metody, které lze použít na set pro práci s daty. Pojďme prozkoumat tuto silnou datovou strukturu!

Definice struktury set

Struktura set podporuje základní operace, jako jsou:

  • Přidání položky: můžete přidat nový jedinečný prvek do sady pomocí metody add(). Pokud již prvek existuje, nebude přidán.
  • Odstranění položky: lze odstranit položku ze sady pomocí metody delete(). Pokud je položka úspěšně odstraněna, metoda vrátí true jinak se vrátí false.
  • Kontrola přítomnosti prvku: pomocí metody lze zkontrolovat, zda je položka v setu has(). Pokud prvek existuje, metoda vrátí true jinak se vrátí false.
  • Získání velikosti set: počet položek v set lze získat pomocí vlastnosti size.
  • Čištění set: můžete odstranit všechny položky ze sady pomocí metody clear(). Po vyvolání této metody bude set prázdný.

Set také podporuje iteraci prvků, Iterator pomocí metod keys(), values() a entries(). Set také umožňuje převod na pole pomocí rozšiřujícího operátora [. set].

Vytvoření prázdné set

Set v JavaScriptu je sbírka jedinečných hodnot bez duplikátů. K vytvoření prázdné sady lze použít následující syntaxi:

const set = new Set();

V tomto kódu vytváříme novou instanci třídy Set, což je prázdná sada. Jakmile je set vytvořen, můžeme do něj přidat hodnoty pomocí metody add().

Chcete-li například přidat hodnotu do sady, můžeme provést následující kód:

set.add(1);

Nyní obsahuje set pouze jednu hodnotu-číslo 1. Když přidáte duplicitní hodnotu, bude ignorována, protože set obsahuje pouze jedinečné hodnoty.

Můžeme také vytvořit set s počátečními hodnotami tím, že je uvedeme jako argumenty při vytváření:

const set = new Set([1, 2, 3]);

Nyní set obsahuje tři hodnoty: 1, 2 a 3. Pokud se některá z hodnot opakuje, bude ignorována.

Vytvoření prázdné sady v JavaScriptu je tedy velmi snadné pomocí syntaxe new Set() . Poté můžeme do sady přidat hodnoty pomocí metody add ().

Vytvoření sady s počátečními hodnotami

K vytvoření sady s počátečními hodnotami v JavaScriptu můžeme použít návrhář Set a předat mu pole s hodnotami.

Chceme například vytvořit set se jmény více zvířat:

const animals = new Set(['kočka', 'pes','králík']);

V tomto příkladu vytváříme set se třemi hodnotami: "kočka", "pes"a " králík". Předáváme pole ['kočka', 'pes','králík'] the set designer a set automaticky vytvoří sbírku s těmito hodnotami.

K přenosu hodnot pole lze také použít příkaz spread:

const animals = new Set([. ['kočka', 'pes','králík']]);

Všimněte si použití příkazu spread (. ). Tento operátor rozdělí pole na jednotlivé prvky, které jsou poté převedeny do návrhu sady.

Nyní máme set s počátečními hodnotami a můžeme jej použít k provádění různých operací, jako je přidávání, mazání a vyhledávání položek v sadě.

Přidání prvků do sady

Chcete-li přidat položku do sady, musíte vyvolat metodu add() na samotném set a přenést do ní položku, kterou chcete přidat.

my_set = set()my_set.add(1)my_set.add(2)my_set.add(3)print(my_set)

V tomto příkladu vytvoříme prázdný set my_set a přidáme do něj prvky 1, 2 a 3 pomocí metody add() . Poté zobrazíme obsah set na obrazovce a získáme následující výsledek:

Set automaticky odstraňuje duplicitní prvky, takže získáváme pouze jedinečné hodnoty.

Odstranění prvků ze set

V programovacím jazyce Python lze k odstranění položky ze sady použít metodu remove () nebo discard ().

Metoda remove () umožňuje odstranit uvedenou položku ze sady. Pokud se v set nenajde prvek, bude vyvolána výjimka KeyError . Příklad použití metody remove() :

myset = myset.remove('banana')print(myset)

Výsledek provádění kódu:

Metoda discard() také umožňuje odstranit uvedenou položku ze sady, ale na rozdíl od metody remove () nevyhodí výjimku, pokud není položka nalezena. Příklad použití metody discard() :

myset = myset.discard('banana')print(myset)

Výsledek provádění kódu:

Použití metod remove() a discard () tedy usnadňuje odstranění položek ze sady v Pythonu.

Hledání prvků v set

Zde je příklad použití metody has() :

let mySet = new Set(); mySet.add('apple'); mySet.add('banana'); mySet.add('orange'); console.log(mySet.has('apple')); // true console.log(mySet.has('grape')); // false

Kromě toho lze pomocí metody size zjistit počet položek v sadě:

Další užitečnou metodou je values (), který vrací Iterator, který umožňuje procházet prvky v sadě. Zde je příklad:

let iterator = mySet.values(); for (let value of iterator)

Díky metodám has (), size a values () je možné efektivně najít a pracovat s prvky v set.

Iterace prvků set

Nejjednodušším způsobem pro iteraci je použití cyklu for..of . Tento cyklus umožňuje přeskupit každý prvek set v pořadí:

let fruits = new Set(["яблоко", "банан", "апельсин"]);for (let fruit of fruits)

V důsledku provádění tohoto kódu budou uvedeny následující informace:

Velmi užitečnou metodou pro iteraci set je forEach . Umožňuje funkci pro každou položku set:

let fruits = new Set(["яблоко", "банан", "апельсин"]);fruits.forEach(function(fruit) );

Výsledek provádění tohoto kódu bude podobný prvnímu příkladu.

Lze také použít metodu Array.from () pro převod set na pole a dále iterovat podle pole:

let fruits = new Set(["яблоко", "банан", "апельсин"]);let fruitsArray = Array.from(fruits);for (let fruit of fruitsArray)

Výsledek bude přitom podobný prvním dvěma příkladům.

Iterace prvků set lze tedy implementovat pomocí cyklu for..of, metody forEach a převod set na pole.