Mik azok a halmazok a Pythonban és hogyan használhatók?



Ismerje meg, hogy mik a Setek a Pythonban, hogyan hozhatók létre a különféle műveletekkel együtt. Ismerkedni fog a rögzített halmazokkal és azok létrehozásával a Pythonban.

Az adattárolás olyan dolog, amely a mai világ minden tartományához szükséges. A Python különféle típusú adatstruktúrákat biztosít az adatok rendezéséhez, és ezek az adatstruktúrák elengedhetetlen részei . A Pythonban elérhető összes adatszerkezet közül némelyik változtatható, más pedig megváltoztathatatlan. Ebben a cikkben ezeknek, azaz halmazoknak egyikét fogom megvitatni. A Python halmazai változékony, iterálható és rendezetlen adatstruktúrák. Itt van egy gyors áttekintés mindazokról, amelyekről tovább foglalkozunk.

Mi van beállítva a Pythonban?
Mikor kell használni a halmazokat a Pythonban?
Hogyan hozhat létre készletet?
Műveletek beállítása





Mik azok a fagyasztott készletek?

Lássunk neki. :-)



Mi van beállítva a Pythonban?

A halmaz alapvetően rendezetlen elemek gyűjteményéből álló adattípus. Ezek az elemek bármely adattípuson lehetnek készletként, ellentétben ,nem típusspecifikusak. A halmazok változtathatóak (változtathatóak), és nem tartalmaznak ismételt elemmásolatokat. Egy halmaz értéke are nem indexált, ezért indexing műveletek nem hajthatók végre halmazokon.

Példa:

Saját_készlet = {1, 's', 7.8} nyomtatás (Saját_készlet)

Kimenet: {’S’, 1., 7.8}



A kimenet az összes jelen lévő elemet megjeleníti.

Jegyzet: Egy halmaz egészében változtatható, de a halmaz elemei nem.

Most, hogy ismeri a Python halmazait, lépjünk előre, és értsük meg, mikor kell használni a halmazokat.

Mikor kell használni a halmazokat a Pythonban?

A Python halmazait akkor használják, ha

  • Az adatok sorrendje nem számít
  • Nincs szükség ismétlésre az adatelemekben
  • Matematikai műveleteket kell végrehajtania, például egyesítés, metszéspont stb

Most lépjünk előre, és nézzük meg, hogyan hozhatunk létre halmazokat a Pythonban.

Hogyan hozhat létre halmazt a Pythonban?

A Python halmazai kétféleképpen hozhatók létre-

  • záróelemeket göndör zárójelben
  • a set () függvény használatával

1. Göndör nadrágtartó használata:

A Python halmazai göndör zárójelekkel ({}) készülnek.

 Példa: 
Saját_készlet = {1, 's', 7.8} nyomtatás (Saját_készlet)

Kimenet: {’S’, 1., 7.8}

Mint láthatja, a My_Set létrehozásra került.

2. A set () függvény használata

A Python halmazai a set () függvény segítségével hozhatók létre.

Példa:

a = halmaz ({1, 'b', 6.9}) nyomtatás (a)

Kimenet: {1, 'b', 6.9}

Ugyanezzel a funkcióval létrehozhat egy üres halmazt is.

Példa:

Empty_Set = set () print (Empty_Set)

Kimenet: készlet()

A fenti kimenet egy üres készletet hoz létre, amelynek neve Empty_Set létrehozva.

Hozzáadhat elemeket ehhez az üres készlethez. A következő témákkal foglalkozom ezzel.

Műveletek beállítása

Számos művelet hajtható végre olyan halmazokon, mint például elemek hozzáadása, elemek törlése, a halmaz hosszának megkeresése stb. Annak érdekében, hogy megtudja, mi minden módszer használható a halmazokon, használhatja a neked() funkció.

Példa:

My_Set = {1, 's', 7.8} dir (My_Set)

Kimenet:

c ++ rendez egy tömböt

['__és __', '__ osztály __', '__ tartalmaz __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ formátum __', '__ ge __', '__ getattribute__', '__gt__', '__h __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __new__ ',' __new__ ',' __new__ ' , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__cl', '__sub__cl' __xor__ ',' add ',' clear ',' copy ',' különbség ',' különbség_frissítés ',' elvetés ',' kereszteződés ',' kereszteződés_frissítés ',' isdisjoint ',' issubset ',' issuperset ',' pop ' , 'eltávolítás', 'szimmetrikus_különbség', 'szimmetrikus_különbség_frissítés', 'szakszervezet', 'frissítés']

A kimenet megmutatja a halmazokon használható összes módszert. Néhányat közülük tovább bemutatok ebben a cikkben.

A készlet hosszának megkeresése

A halmaz hosszának megkereséséhez a Pythonban használhatja a len () függvényt. Ez a függvény paraméterként veszi a halmaz nevét, és egy egész számot ad vissza, amely megegyezik a halmazban lévő elemek számával.

Példa:

Saját_készlet = {1, 's', 7,8} len (Saját_készlet)

Kimenet: 3

Amint a fenti kimeneten látható, 3-at adtunk vissza, amely megegyezik a My_Set elemben lévő elemek számával. Most ezekhez az elemekhez is hozzáférhetünk, ami az alábbiakban látható.

A készlet elemeinek elérése

A halmazelemekhez nem lehet hozzáférni az indexszámok használatával, mert a korábbiakban meghatározottak szerint a halmaz elemeit nem indexelik. Ezért, ha egy halmaz elemeihez szeretne hozzáférni, végigvonulhat rajta és hozzáférhet annak elemeihez.

Példa:

My_Set = {1, 's', 7.8} x-hez a My_Set-ben: print (x)

Kimenet:

s 1 7.8

Amint a kimeneten látható, a sorrend eltér a készlethez szállított elemek sorrendjétől. Az elemek ugyanis nincsenek rendezve.

Elemek hozzáadása egy készlethez:

Az elemek két funkcióval, a add () és a frissítés () funkció.

Az add () függvény egy elemet ad hozzá a meglévő készlethez az alábbiak szerint:

Példa:

My_Set = {1, 's', 7.8} My_Set.add (3) My_Set

Kimenet: {1, 3, 7.8, 's'}

A update () függvény akkor használható, ha egynél több elemet szeretne hozzáadni a meglévő készlethez.

Példa:

My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set

Kimenet: {1, 2, 4.6, 7.8, „r”, „s”}

Amint a fenti kimenetből látható, az update () függvény 4 értékből álló listát vesz fel, és az 1 kivételével az összes érték hozzáadódik a My_Set-hez. Ennek oka, hogy az 1 már jelen van a készletben, ezért nem adható hozzá újra.

Készlet elemeinek eltávolítása

Ha elemeket szeretne eltávolítani egy készletből, használhatja a eltávolít (), eldobni () és a pop () funkciókat.

Az remove () függvény egy paramétert vesz fel, amely a készletből eltávolítandó elem.

melyik szkenner osztály metódus olvassa el a karakterláncot?

Példa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) print (My_Set)

Kimenet: {1, 4.6, 7.8, „r”, „s”}

Mint látható, 2-et eltávolítottunk a készletből az remove () függvény segítségével. Ha olyan elemet ad meg paraméterként a () eltávolításához, amely nem létezik a halmazban, az hibát fog okozni.

Most, ha el akar távolítani néhány elemet a halmazból, és ha nem biztos abban, hogy ez az elem valóban jelen van-e a halmazban, akkor használhatja a dobás () funkciót. Ez a függvény paraméterként veszi fel a halmazból eltávolítandó elemet, de ha az elem nincs jelen, nem dob hibát.

Példa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') print (My_Set)

Kimenet: {1, 2, 7.8, „r”, „s”}

A fenti kimenet azt mutatja, hogy a 4.6-ot eltávolították a My_Set-ből, de az eldobás () nem dobott hibát, amikor a My_Set.discard (‘i’) -t használtam, holott az ’i’ nincs jelen a készletemben.

A pop () függvény eltávolítja a halmaz elemeit is, de mivel egy halmaz rendezetlen, nem fogja tudni, hogy melyik elemet távolította el.

Példa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () print (My_Set)

Kimenet: {2, 4.6, 7.8, „r”, „s”}

A kimenet azt mutatja, hogy a pop () használatával eltávolítottak néhány véletlenszerű elemet, amely ebben az esetben 1.

Most, ha törölni szeretné a készletben lévő összes elemet, használhatja a egyértelmű() módszer.

Példa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () print (My_Set)

Kimenet: készlet()

Amint a fenti kimenetben láthatja, a My_Set egy üres halmaz.

Abban az esetben, ha teljesen törölni szeretné a készletet, használhatja a a kulcsszó.

Példa:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set nyomtatás (My_Set)

A fenti kód futtatásakor hiba lép fel, mert a My_Set törlődik.

A halmaz különböző matematikai műveleteit is elvégezheti, például egyesítést, metszéspontot, különbséget stb., Amelyet az alábbiakban tárgyalunk.

Szettek Szövetsége

A halmazok egyesülése két vagy több halmaz egyetlen halmazba összefűzésére utal, a két halmaz összes egyedi elemének összeadásával. Ez kétféle módon történhet:

  • A csővezeték használata
  • Az union () függvény használata

A csővezeték szimbólum használata:

Két halmaz összefűzhető a | használatával szimbólum az alábbiak szerint:

Példa:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b nyomtatás (a | b)

Kimenet: {1, 2, 4.6, 5, 7.8, „r”, „abc”, „s”, „d”}

Mint látható, a fenti kimenetben az a és a b halmaz egyesítése egy új c halmazban kerül tárolásra. Kétnél több készletet is összefűzhet a | szimbólum.

Példa:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c nyomtatás (d)

Kimenet:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

Az union () metódus használatával:

Két vagy több halmaz összefűzéséhez használhatja az union () metódust az alábbiak szerint:

Példa:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4,7} nyomtatás (' Állítson be egy U b = ', a.union (b)) nyomtatást (' Állítson be egy U b U c = ', a.union (b, c))

Kimenet:

Állítson be egy U b = {1, 2, 4.6, 5, 7.8, „r”, „abc”, „s”, „d”}

Állítson be egy U b U c = {1, 2, 4.6, 5, 4.7, 7.8, „r”, 76, 23, „abc”, „m”, „s”, „d”}

A fenti kimenet azt mutatja, hogy d az a, b és c halmazok uniója.

A halmazok metszéspontja

Két vagy több halmaz metszéspontja egy új halmaz, amely csak az ezekben a halmazokban található közös elemekből áll.

Ez kétféle módon történhet:

  • Az „&” szimbólum használatával
  • Metszés () függvény használata

Az „&” szimbólum használata:

Két vagy több halmaz metszéspontját meghatározhatja a ‘&’ szimbólummal az alábbiak szerint:

Példa:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} nyomtatás (a & b) nyomtatás (a & b & c)

Kimenet:

{2, 5} {2}

A fenti kimenet az a, b és c halmazok egyesülését mutatja.

Metszés () függvény használata:

Két vagy több halmaz metszését meghatározhatja az intersection () függvény segítségével az alábbiak szerint:

Példa:

hogyan lehet tabló fejlesztővé válni
a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} nyomtatás (' kereszteződés b = ', a. kereszteződés (b)) print (' Állítson be egy metszéspontot b kereszteződés c = ', a. kereszteződés (b, c))

Kimenet:

Állítson be egy kereszteződést b = {2, 5}

Állítson be egy metszéspontot b metszéspont c = {2}

A fenti kimenet az a, b és c halmaz metszéspontját mutatja.

Készletek különbsége:

A halmazok különbsége új halmazt eredményez, amely olyan elemekből áll, amelyek csak az egyik halmazban vannak jelen. Ez azt jelenti, hogy ezeknek a halmazoknak a közös elemein kívül minden elem visszatér.

Ez kétféle módon történhet:

  • A ‘-’ szimbólum használatával
  • A differenciál () függvény használata

A ‘-’ szimbólum használata:

A „-” szimbólum használatával két halmaz különbségének megállapításához a következőket teheti:

Példa:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} nyomtatás (a-b-c)

Kimenet: {1, 4.6, 7.8, „r”, „s”}

A kimenet az „a” halmaz összes eleméből áll, kivéve azokat, amelyek jelen vannak a „b” és „c” karakterekben.

A különbség () függvény használata:

A halmazok különbsége a beépített különbség () függvény segítségével határozható meg az alábbiak szerint:

Példa:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} nyomtatás (' - b = ', a. különbség (b)) print (' Állítsa be a - b - c = ', a. különbséget (b, c))

Kimenet:

Állítsa be a - b = {1, 4.6, 7.8, „r”, „s”}

Állítsa be a - b - c = {1, 4,6, 7,8, „r”, „s”}

A fenti kimenet a különbség eredménye a különbség () függvény segítségével.

És mi van akkor, ha egyáltalán nem akarja megváltoztatni a készlet elemeit, használhatja a lefagyasztott készleteket, amelyeket az alábbiakban tárgyalunk.

Mi az a fagyasztott készlet?

A Python rögzített halmaza olyan készlet, amelynek értékei nem módosíthatók. Ez azt jelenti, hogy megváltoztathatatlan, ellentétben egy normál halmazzal, amelyet korábban tárgyaltam. A rögzített halmazok kulcsként szolgálnak a szótár kulcs-érték párjaiban.

Hogyan készítsünk fagyasztott készleteket?

A fagyasztott készleteket a frozenset () módszerrel lehet beszerezni. Ez a függvény minden iterálható elemet felvesz és megváltoztathatatlanná alakítja.

Példa:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = frozenset (a) print (b)

Kimenet: frozenset ({1, 2, 4.6, 5, 7.8, „r”, „s”})

A fenti kimenet a b halmazból áll, amely az a halmaz fagyasztott változata.

Fagyasztott készlet elemeihez való hozzáférés

A fagyasztott készlet elemei a következő módon hurkolással érhetők el:

Példa:

b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) x-hez b-ben: print (x)

Kimenet:

egy
2
4.6
5.
7.8
s

A fenti kimenet azt mutatja, hogy a for ciklust használva a fagyasztott b halmaz minden eleme egymás után került visszaadásra. A lefagyott készletek megváltoztathatatlanok, ezért nem hajthat végre olyan műveleteket, mint az add (), remove (), update () stb. Remélem, tisztában van mindazzal, amit megosztott veled ebben az oktatóanyagban. Ezzel eljutottunk a Python Setsről szóló cikkünk végéhez. Győződjön meg róla, hogy a lehető legtöbbet gyakorolja, és állítsa vissza a tapasztalatait.

Van egy kérdésünk? Kérjük, említse meg a „Beállítások a Pythonban” blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.

Ha mélyreható ismereteket szeretne szerezni a Pythonról és a különböző alkalmazásokról, regisztrálhat élőben 24/7 támogatással és élethosszig tartó hozzáféréssel.