Ako previesť zoznam na množinu v Pythone

Podnikateľ pomocou prenosného počítača v kancelárii

V Pythone môžete zoznam previesť na množinu.

Kredit za obrázok: Poike/iStock/GettyImages

Zoznamy aj množiny v Pythone obsahujú skupiny položiek, no medzi nimi sú dôležité rozdiely. Množiny sú užitočné najmä na vykonávanie širokej škály operácií, ako sú spojenia a križovatky, zatiaľ čo zoznamy áno menej matematických operácií, ale sú užitočné na vyhľadávanie konkrétnych položiek – najmä s duplikátmi – a organizáciu údajov. Z mnohých dôvodov možno budete musieť previesť zoznam na množinu v Pythone a na to môžete použiť jednoduchú funkciu.

Vysvetlenie zoznamov a sád Pythonu

Najdôležitejší rozdiel medzi zoznamom a množinou v Pythone je v tom, že zoznam môže obsahovať duplicitné prvky, zatiaľ čo množina obsahuje iba jedinečné prvky. Ak máte napríklad zoznam skóre testov definovaný ako „skóre=[14, 20, 13, 20, 15]“, zoznam povie vám každú hodnotu, ale ak ju prevediete na množinu, odstráni duplikát a ponechá {14, 20, 13, 15}.

Video dňa

Ďalším rozdielom je, že hranaté zátvorky sa používajú pre zoznamy, zatiaľ čo zložené zátvorky sa používajú pre množiny. Veci sú trochu komplikované skutočnosťou, že pythonovský slovník tiež používa zložené zátvorky, ale tam každá položka pozostáva zo samotnej hodnoty a „kľúča“ oddeleného dvojbodkou.

Je dôležité si zapamätať, že ako súčasť množiny alebo zoznamu môžete použiť reťazce, celé čísla, pohyblivé čiary alebo iné objekty, ktoré možno v rovnakej množine alebo zozname zmiešať. Takže, rovnako ako v Pythone môžete mať množinu čísel, môžete tiež zostaviť pythonskú množinu reťazcov.

Previesť zoznam na množinu

Proces prevodu zoznamu na množinu v Pythone je jednoduchý. Najprv definujte zoznam spôsobom, ktorý dáva zmysel pre informácie v ňom obsiahnuté. Môžete napríklad napísať, že chcete definovať zoznam mien mená=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] všimnite si hranaté zátvorky, úvodzovky okolo reťazcov (názvov) a čiarky oddeľujúce jednotlivé položky.

Ak chcete previesť tento zoznam na množinu, použite príkaz set(), kde do zátvoriek vložíte názov zoznamu, ktorý chcete previesť. Takže v tomto prípade môžete písať sada (mená) na konverziu mien v zozname na množinu a môžete jej priradiť premennú, napríklad „jedinečné mená“ a zobraziť výsledok pomocou vytlačiť (jedinečné mená), ktorý je funkčne ekvivalentný s vytlačiť (súprava (mená)) ale úhľadnejšie. Potvrdíte, že to bolo urobené správne tým, že si všimnete, že výsledok používa zložené zátvorky a výraz „Mike“ je zahrnutý iba raz.

Celý kód vyzerá takto:

mená=['Lee', 'Mike','Jamie','Mike','Sarah']

uniquenames=set (mená)

print('Unique names: ', uniquenames)

V tomto prípade bolo do výstupu pridané „Jedinečné mená:“ na účely prezentácie.

Python: Nastavte na konverziu zoznamu

Rovnakú konverziu môžete spustiť aj v opačnom smere a proces je v podstate rovnaký, okrem toho, že použijete zoznam() príkaz na množine a nie naopak. To znamená, že na začiatok potrebujete množinu, ktorú môžete jednoducho definovať tak, že vyberiete premennú, ako napríklad „big_set“, a potom pridáte obsah oddelený čiarkami a v zložených zátvorkách. Mohli by ste písať veľká_množina={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} na definovanie množiny celých čísel alebo akýchkoľvek iných hodnôt.

Ak to chcete previesť na zoznam, definujte premennú (povedzme "big_list") a použite zoznam() príkaz, takže napíšete niečo ako veľký_zoznam=zoznam (veľká_množina) a potom vytlačiť (veľký_zoznam) na zobrazenie výsledku. Takže celý kód je:

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

veľký_zoznam=zoznam (veľká_množina)

vytlačiť (veľký_zoznam)

Tento prípad nedáva zoznamu názov, takže vracia iba zoznam. Upozorňujeme, že ak skonvertujete zoznam na množinu a potom znova späť, stratíte všetky opakované hodnoty pri prvej konverzii a už sa nevrátia.