Sada Python je jedinečný literál na filtrovanie odlišných hodnôt v zozname alebo v rade položiek. Na rozdiel od zoznamu, slovníka alebo n-tice v jazyku Python neprijíma duplikáty. Môže to byť teda cenný nástroj na čistenie údajov.

Ako však môžete vytvoriť množinu a použiť ju v Pythone? Vysvetlíme to v tomto príspevku.

Vlastnosti súprav Python

Okrem neprijatia duplikátov má množinový literál ďalšie vlastnosti, ktoré ho odlišujú od iných dátových typov. Tu sú niektoré z jeho funkcií:

  • Je to nemenné: to znamená, že už nemôžete vytvoriť hodnoty množiny, keď ich vytvoríte.
  • Nastavený literál vráti dynamické usporiadanie zakaždým, keď ho vytvoríte. V zásade sú položky v súprave neusporiadané.
  • Pretože na rozdiel od literálov v zozname a slovníku predstavuje neusporiadané položky, nemôžete získať hodnoty množiny podľa ich indexov.

Ako vytvárať a používať sadu Python

Teraz, keď poznáte základné vlastnosti súpravy Python. Pozrime sa na niektoré zo spôsobov, ako ich môžete použiť vo svojom programe.

instagram viewer

Na vytvorenie množiny v Pythone použijete zložené zátvorky. Sada je teda zoznam položiek v zložených zátvorkách oddelených čiarkami:

mySet = {1, 2, "MUO", "Google"}
tlačiť (mySet)
Výstup: {1, 2, „MUO“, „Google“}

Na množinu môžete tiež previesť akýkoľvek iný údajový typ. Napríklad nasledujúci kód prevádza zoznam na množinu:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
tlačiť (mySet)
Výstup: {1, 2, „MUO“, „Google“}

Pre istotu môžete skontrolovať dátový typ mySet:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
tlač (typ (mySet))
Výkon:

Ako sme už spomínali, sada neprijíma duplikáty. Táto funkcia môže byť užitočná, keď chcete vyčistiť pole odstránením duplicitných hodnôt.

Nasledujúci kód odstráni duplikáty zo zoznamu a prezentuje výstup ako množinu Pythonu:

myList = [1, 2, 2 „MUO“, „MUO“, „Google“, „Google“]
mySet = set (myList)
tlačiť (mySet)
Výstup: {1, 2, 'MUO', 'Google'}

Ak chcete ďalej demonštrovať funkciu filtrovania sady, pri tlači dĺžky sady sa do nej nezapočítavajú duplicitné hodnoty:

mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
print (len (mySet))
Výstup: 4

Aby sme videli lepší prípad použitia množiny, odstráňte duplikáty z nasledujúceho poľa. Je to ako pýtať sa na jedinečné kľúče v poli.

Za týmto účelom preveďte slovník na množinu:

myDiction = {
„Mango“: 2, „Orange“: 2, „mrkva“: 2, „MUO“: „tech“,
"MUO": "web", "Google": "vyhľadávanie", "Google": "motor"
}
uniqueSet = set (myDiction)
print ("Toto sú jedinečné kľúče: {}". format (uniqueSet))
Výstup: Toto sú jedinečné kľúče: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}

Konverzia uvedená vyššie automaticky odstráni duplikované položky z poľa.

Kód môžete upraviť vyššie pomocou slučky for aby bolo jasnejšie:

pre unikáty v uniqueSet:
tlač (unikáty)

Môžete tiež spojiť dve sady s odbor () metóda:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
tlač (newSet)
Výstup: {1, 3, 4, 5, 6}

Avšak vyššie uvedený kód spája tieto dve množiny a odstraňuje duplicitné hodnoty.

Prípadne môžete použiť fajku | funkcia na spájanie množín v Pythone:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
tlač (newSet)
Výstup: {1, 3, 4, 5, 6}

Rozdiel medzi dvoma sadami nájdete aj v Pythone:

setA = {1, 3, 5}
setB = {2, 4, 5,}
tlač (setA.difference (setB))
Výstup: {1, 3}

Nájdete symetrický rozdiel medzi množinami A a B. Táto metóda vráti položky v ktorejkoľvek množine, ale vylúči ich priesečníky. Pozrime sa, ako to funguje:

setA = {1, 3, 5}
setB = {2, 4, 5,}
tlač (setA ^ setB)
Výstup: {1, 2, 3, 4}

Prípadne môžete použiť symmetric_difference () metóda:

setA = {1, 3, 5}
setB = {2, 4, 5,}
print (setA.symmetric_difference (setB))
Výstup: {1, 2, 3, 4}

Pozrime sa tiež, ako môžete nižšie nájsť priesečník množín:

setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
tlač (newSet)
Výstup: {1}

Zatiaľ čo môžeš pridať do zoznamu v Pythone, nemôžete urobiť to isté pre sadu Python. Položku však môžete pridať na koniec sady pomocou pridať funkcia.

Ale Python pridať funkcia prijíma jeden argument, takže do množiny môžete pridať iba n-ticu. Týmto sa vráti vnorená množina:

setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
tlač (setC)
Výstup: {1, (1, 6), 3}

Sada Python používa isdisjoint () metóda na kontrolu, či sú dve množiny nesúvislé Potom vráti logickú hodnotu:

setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
print ("Je {} to, že setA je disjunkt B" .formát (findDisjoint))
Výstup: Je nepravdivé, že setA je disjunktom B.

Ak chcete skontrolovať, či je množina podmnožinou inej, nahraďte ju isdisjoint () s issubset ():

findSubset = setA.issubset (setB)

Element môžete odstrániť zo súpravy:

setA = {1, 3, 5}
setA.odstrániť (5)
tlač (setA)
Výstup: {1, 3}

The jasný() metóda vymaže prvky v množine a vráti prázdnu množinu:

setA = {1, 3, 5}
setA.clear ()
tlač (setA)
Výstup: set ()

Ľubovoľnú položku môžete odstrániť zo súpravy a vrátiť jej hodnotu pomocou znaku set.pop () metóda:

setA = {1, 3, 5}
print (setA.pop ())

Môžete tiež aktualizovať súpravu Python pomocou metódy update ():

setA = {1, 'b'}
setB = {2, 4, 5,}
print (setA.update (setB))
tlač (setA)
Výstup: {1, 2, 4, 5, 'b'}

Hrajte sa so sadami Pythonu

Aj keď sme videli, ako môžete použiť množinu v Pythone, existujú ešte ďalšie praktické spôsoby jej použitia vo vašom kóde. Ako ste videli, môže sa vám to hodiť aj pri čistení údajov pomocou Pythonu.

Okrem množiny majú ďalšie dátové typy alebo polia Pythonu mnoho použití a rôzne aplikácie. Skúste sa s nimi pohrať, aby ste ich lepšie zavesili.

Email
Ako polia a zoznamy fungujú v Pythone

Polia a zoznamy sú niektoré z najužitočnejších dátových štruktúr v programovaní - hoci len málo ľudí ich využíva v plnom rozsahu.

Prečítajte si Ďalej

Súvisiace témy
  • Programovanie
  • Python
O autorovi
Idowu Omisola (60 publikovaných článkov)

Idowu je vášnivý pre čokoľvek inteligentné technológie a produktivitu. Vo voľnom čase sa hrá s kódovaním a keď sa nudí, prepne na šachovnicu, ale tiež rád občas vybočuje z rutiny. Jeho vášeň ukázať ľuďom cestu v moderných technológiách ho motivuje k tomu, aby písal viac.

Viac od Idowu Omisola

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.