Nejlepší odpověď
Existují některé významné rozdíly:
- Indexování – seznam může být indexován celým číslem (od 0); sadu nelze indexovat (neexistuje žádný koncept první položky v sadě, kromě případů, kdy je iterována).
- Řezání – seznam lze rozdělit (pomocí notace [a: b]); sadu Python nelze rozdělit na plátky.
- Obsah – seznam může obsahovat libovolnou směs datových položek; sada může obsahovat pouze ty datové položky, které jsou hashovatelné (tj. funkce hash () vrací hodnotu).
- Duplikáty – seznam může obsahovat duplicitní datové položky – není omezen počet opakování položek stejná hodnota se objeví v seznamu; sada nemůže obsahovat duplikáty.
- Řazení – seznamy jsou řazeny, což znamená, že si zachovají pořadí podle určení programu pomocí seznamu; sady nejsou řazeny – neexistuje koncept první, druhé atd. – a neexistuje žádný způsob, jak může programátor ovládat pořadí, ve kterém je sada iterována, zobrazena nebo jinak prezentována. (Pořadí poznámek není totéž jako třídění – ale ani sady nelze třídit.)
- členství – test členství (operátor „in“) v seznamu je lineární vyhledávání od prvního do poslední; test členství v sadě je založen nejprve na hash () hledané hodnoty. Hledání sady je podstatně efektivnější ve srovnání se seznamem podobné velikosti.
- Další možnosti – seznamy nemají chování pro vytváření nových seznamů na základě překrývání nebo rozdílů mezi seznamy; sady na druhé straně mají nesčetné množství operací (a metod) pro identifikaci rozdílů a přesahů mezi sadami.
Odpověď
Sady jsou datové struktury podobné seznamům nebo slovníkům. Jsou vytvořeny pomocí složených závorek nebo funkce set . Sdílejí některé funkce se seznamy, například použití v ke kontrole, zda obsahují konkrétní položku.
num\_set = {1, 2,3,4,5}
word\_set = set ([„spam“, „vejce“, „klobása“])
tisk (3 in num\_set)
tisk („spam“ ne v word\_set)
>> True
>>> False
Poznámka: Chcete-li vytvořit prázdnou sadu, musíte použít set (), as {} vytvořit prázdný slovník.
Sady se od seznamů liší několika způsoby, ale sdílejí několik operací se seznamy, například len . Jsou neuspořádané, což znamená, že je nelze indexovat. nemohou obsahovat duplicitní prvky. Kvůli způsobu, jakým jsou znovu uloženy, je rychlejší a zkontrolovat, zda je položka součástí sady, nikoli součástí seznamu. Místo použití připojit pro přidání do sady použijte add . Metoda remove odstraní konkrétní prvek ze sady; pop odstraní libovolný prvek.
Sady lze kombinovat pomocí matematických operací. operátor sjednocení | kombinuje dvě sady a vytvoří novou obsahující položky v obou. operátor křižovatky & získá položky pouze v obou. rozdíl operátor – dostává položky dovnitř první sada, ale ne ve druhé. Operátor symetrický rozdíl ^ získá položky v jedné sadě, ale ne v obou.
Kdy použít slovník: – Když potřebujete logické přidružení mezi klíčem: hodnotou pár. – Když potřebujete rychle vyhledat svá data na základě vlastního klíče. – Když jsou vaše data neustále upravována. Pamatujte, že slovníky jsou proměnlivé. Kdy použít jiné typy: – Použijte seznamy , pokud máte sbírku dat, která nepotřebuje náhodný přístup. Pokuste se vybrat seznamy, když potřebujete jednoduchou iterovatelnou kolekci, která je často upravována. – Pokud potřebujete pro prvky jedinečnost, použijte sadu . – Použijte n-tice , když se vaše data nemohou změnit.
Doufám, že vám to pomůže.
Happy Coding.
Poslední věc, pokud se vám líbí, pak ji hlasujte, „motivuji mě.