Jak převést seznam na sadu v Pythonu

Podnikatel pomocí přenosného počítače v kanceláři

V Pythonu můžete převést seznam na sadu.

Kredit obrázku: Poike/iStock/GettyImages

Seznamy a sady v Pythonu obsahují skupiny položek, ale mezi nimi jsou důležité rozdíly. Množiny jsou užitečné zejména pro provádění široké škály operací, jako jsou sjednocení a průniky, zatímco seznamy ano méně matematických operací, ale jsou užitečné pro vyhledávání konkrétních položek – zejména s duplikáty – a organizování data. Z mnoha důvodů možná budete muset převést seznam na sadu v Pythonu a existuje jednoduchá funkce, kterou k tomu můžete použít.

Vysvětlení seznamů a sad Pythonu

Nejdůležitější rozdíl mezi seznamem a sadou v Pythonu je ten, že seznam může obsahovat duplicitní prvky, zatímco sada obsahuje pouze jedinečné prvky. Pokud máte například seznam skóre testů definovaný jako „skóre=[14, 20, 13, 20, 15]“, řekne vám každou hodnotu, ale pokud ji převedete na sadu, odstraní duplikát a ponechá {14, 20, 13, 15}.

Video dne

Dalším rozdílem je, že hranaté závorky se používají pro seznamy, zatímco složené závorky se používají pro množiny. Věci jsou trochu komplikované skutečností, že slovník Pythonu také používá složené závorky, ale tam se každá položka skládá ze samotné hodnoty a "klíče" odděleného dvojtečkou.

Je důležité si pamatovat, že jako součást sady nebo seznamu můžete použít řetězce, celá čísla, plovoucí čísla nebo jiné objekty, které lze také smíchat ve stejné sadě nebo seznamu. Takže stejně jako můžete mít v Pythonu sadu čísel, můžete také vytvořit pythonskou sadu řetězců.

Převést seznam na sadu

Proces převodu seznamu na sadu v Pythonu je přímočarý. Nejprve definujete seznam způsobem, který dává smysl pro informace v něm obsažené. Můžete například napsat, že chcete definovat seznam jmen names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] poznamenejte si hranaté závorky, uvozovky kolem řetězců (názvů) a čárky oddělující jednotlivé položky.

Chcete-li tento seznam převést na sadu, použijte příkaz soubor(), kde do závorek vložíte název seznamu, který chcete převést. Takže v tomto případě můžete psát sada (jména) převést jména v seznamu na sadu a můžete jí přiřadit proměnnou, jako je "uniquenames" a zobrazit výsledek pomocí tisknout (jedinečná jména), který je funkčně ekvivalentní tisknout (set (jména)) ale čistší. Potvrzujete, že to bylo provedeno správně tím, že si všimnete, že výsledek používá složené závorky a „Mike“ je zahrnut pouze jednou.

Celý kód vypadá takto:

jména=['Lee', 'Mike','Jamie','Mike','Sarah']

uniquenames=set (jména)

print('Unikátní názvy: ', jedinečná jména)

V tomto případě bylo do výstupu pro účely prezentace přidáno „Jedinečné názvy:“.

Python: Nastavte na Převod seznamu

Můžete také spustit stejnou konverzi v opačném směru a proces je v podstatě stejný, kromě toho, že použijete seznam() příkaz na sadě spíše než naopak. To znamená, že pro začátek potřebujete sadu, kterou můžete snadno definovat výběrem proměnné, jako je "big_set" a přidáním obsahu odděleného čárkami a ve složených závorkách. Mohl bys psát velká_množina={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} k definování sady celých čísel nebo jakýchkoli jiných hodnot.

Chcete-li to převést na seznam, definujete proměnnou (řekněme "big_list") a použijete seznam() příkaz, takže napíšete něco jako velký_seznam=seznam (velká_množina) a pak tisknout (velký_seznam) pro zobrazení výsledku. Takže celý kód je:

velká_množina={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}

velký_seznam=seznam (velká_množina)

tisknout (velký_seznam)

Tento případ nedává seznamu název, takže vrací pouze seznam. Všimněte si, že pokud převedete seznam na sadu a pak znovu zpět, ztratíte při prvním převodu všechny opakované hodnoty a nevrátí se.