A Python set egy egyedi literál egy listában vagy egy elemcsoportban lévő különálló értékek szűrésére. A Python listával, szótárral vagy duplával ellentétben ez nem fogad el másolatokat. Tehát értékes adattisztító eszköz lehet.
De hogyan lehet létrehozni egy halmazt és használni a Pythonban? Ezt ebben a bejegyzésben elmagyarázzuk.
A Python készletek jellemzői
Amellett, hogy a halmaz literál nem fogadja el a duplikátumokat, más jellemzői vannak, amelyek megkülönböztetik más adattípusoktól. Íme néhány jellemzője:
- Változhatatlan: ez azt jelenti, hogy a készletek létrehozása után nem változtathatja meg a halmaz értékeit.
- A beállított literál dinamikus elrendezést ad vissza minden egyes létrehozásakor. Lényegében a készlet elemei rendezetlenek.
- Mivel rendezetlen elemeket mutat be, ellentétben a lista- és szótár literálokkal, nem lehet egy halmaz értékét megkapni indexük alapján.
Hogyan készítsünk és használjunk Python készletet
Most, hogy ismeri a Python készlet alapvető jellemzőit. Nézzük meg néhány módját annak, hogyan használhatja a programjában.
Göndör kapcsos zárójelekkel hozhat létre halmazt a Pythonban. Tehát egy készlet a göndör zárójelben szereplő elemek vesszővel elválasztott listája:
mySet = {1, 2, "MUO", "Google"}
nyomtatás (mySet)
Kimenet: {1, 2, "MUO", "Google"}
Bármely más adattípust átalakíthat készletgé is. Például az alábbi kód egy listát alakít halmazsá:
myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
nyomtatás (mySet)
Kimenet: {1, 2, "MUO", "Google"}
Az biztos lehet, hogy ellenőrizheti az adatok típusát mySet:
myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
nyomtatás (típus (mySet))
Kimenet:
Mint korábban említettük, egy készlet nem fogad el másolatokat. Ez a szolgáltatás hasznos lehet, ha egy tömböt meg akar tisztítani az ismétlődő értékek eltávolításával.
Az alábbi kód eltávolítja a duplikátumokat egy listából, és a kimenetet Python készletként mutatja be:
myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set (myList)
nyomtatás (mySet)
Kimenet: {1, 2, 'MUO', 'Google'}
A halmaz szűrési szolgáltatásának további bemutatásához a halmaz hosszának kinyomtatásakor az nem számít duplikált értékeket:
mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
nyomtatás (len (mySet))
Kimenet: 4
A készlet jobb felhasználási esetének megtekintéséhez távolítsuk el a másolatokat a következő tömbből. Ez olyan, mintha lekérdeznénk az egyedi kulcsokat egy tömbben.
Ehhez konvertáljon szótárt halmazsá:
myDiction = {
"Mango": 2, "Narancs": 2, "sárgarépa": 2, "MUO": "tech",
"MUO": "web", "Google": "keresés", "Google": "motor"
}
uniqueSet = set (myDiction)
print ("Ezek az egyedi kulcsok: {}". format (uniqueSet))
Kimenet: Ezek az egyedi kulcsok: {'Google', 'Mango', 'MUO', 'Orange', 'sárgarépa}
A fenti átalakítás automatikusan eltávolítja a duplikált elemeket a tömbből.
A fenti kódot módosíthatja egy for ciklust használ hogy világosabb legyen:
az egyediSet egyedi elemei számára:
nyomtatás (egyedi)
Két halmazhoz is csatlakozhat a unió() módszer:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
nyomtatás (newSet)
Kimenet: {1, 3, 4, 5, 6}
A fenti kód azonban összekapcsolja a két halmazt, és eltávolítja az ismétlődő értékeket.
Alternatív megoldásként használhatja a csövet | függvény halmazok egyesítéséhez a Python-ban:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
nyomtatás (newSet)
Kimenet: {1, 3, 4, 5, 6}
Megtalálható a Python két halmaza közötti különbség is:
setA = {1, 3, 5}
setB = {2, 4, 5,}
nyomtatás (setA.difference (setB))
Kimenet: {1, 3}
Megtalálható az A és B halmazok közötti szimmetrikus különbség. Ez a módszer bármelyik halmazban visszaadja az elemeket, de kizárja azok metszéspontjait. Lássuk, hogyan működik ez:
setA = {1, 3, 5}
setB = {2, 4, 5,}
nyomtatás (setA ^ setB)
Kimenet: {1, 2, 3, 4}
Alternatív megoldásként használhatja a szimmetrikus_különbség () módszer:
setA = {1, 3, 5}
setB = {2, 4, 5,}
nyomtatás (setA.symmetric_difference (setB))
Kimenet: {1, 2, 3, 4}
Lássuk azt is, hogyan találhatja meg az alábbi halmazok metszéspontját:
setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
nyomtatás (newSet)
Kimenet: {1}
Amíg lehet csatolja a Python listájához, ugyanazt nem teheti meg egy Python készlet esetén. A halmaz végére azonban hozzáadhat egy elemet a hozzá funkció.
De a Python hozzá függvény elfogad egy argumentumot, így csak egy duplát adhat hozzá egy halmazhoz. Ez egy beágyazott halmazt ad vissza:
setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
nyomtatás (setC)
Kimenet: {1, (1, 6), 3}
A Python halmaz a isdisjoint () módszer annak ellenőrzésére, hogy két halmaz szét van-e választva. Ezután egy logikai értéket ad vissza:
setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
print ("Ez az a}, hogy a setA B elkülönülése.
Kimenet: Hamis, hogy a setA B szétválasztása
Annak ellenőrzéséhez, hogy egy halmaz egy másik részhalmaza-e, cserélje le isdisjoint () val vel issubset ():
findSubset = setA.issubset (készletB)
Elemeket eltávolíthat egy készletből:
setA = {1, 3, 5}
setA.remove (5)
nyomtatás (setA)
Kimenet: {1, 3}
A egyértelmű() A method törli a halmaz elemeit és egy üres halmazt ad vissza:
setA = {1, 3, 5}
setA.clear ()
nyomtatás (setA)
Kimenet: set ()
Eltávolíthat egy tetszőleges elemet egy halmazból, és visszaadhatja annak értékét a set.pop () módszer:
setA = {1, 3, 5}
nyomtatás (setA.pop ())
A Python készletet a update () módszerrel is frissítheti:
setA = {1, 'b'}
setB = {2, 4, 5,}
nyomtatás (setA.update (setB))
nyomtatás (setA)
Kimenet: {1, 2, 4, 5, 'b'}
Play körül a Python készletek
Bár láttuk, hogyan használhat egy halmazt a Pythonban, még mindig vannak más praktikus módszerek a kódban való alkalmazására. Mint látta, ez még hasznos is lehet, miközben az adatokat a Python segítségével tisztítja.
Egy halmaz mellett más Python adattípusoknak vagy tömböknek számos felhasználási lehetőségük és különféle alkalmazásuk van. Próbálj meg velük játszani, hogy jobban lógjon rajtuk.
A tömbök és a listák a leghasznosabb adatstruktúrák a programozásban - bár kevesen használják ki teljes mértékben.
Olvassa el a következőt
- Programozás
- Piton

Idowu minden okos technológiával és termelékenységgel rajong. Szabadidejében kódolással játszik, és ha unatkozik, áttér a sakktáblára, de imád egyszer-egyszer elszakadni a rutintól. Az a szenvedély, hogy megmutatja az embereknek a modern technológiát, további írásra ösztönzi.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Még egy lépés…!
Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.