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
- A készlet hosszának megkeresése
- A Set elemek elérése
- Elemek hozzáadása egy készlethez
- Készlet elemek eltávolítása
- Szettek Szövetsége
- A halmazok metszéspontja
- A halmazok különbsége
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
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.