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.