Hirdetés
A tömbök és a listák a leghasznosabb adatstruktúrák a programozás során - bár csak kevés ember használja ki ezeket teljes mértékben. Ma az alapokon keresztül beszélek téged néhány egyszerű Python-példával együtt.
Előfeltételek
Nem sok, amit előre kell tudnia ahhoz, hogy megtanulja ezeket a fogalmakat. Hasznos lesz a programozási paradigmák és a Python alapvető ismerete, de erre nincs szükség. Olvassa el alapvető Python-példák 10 alapvető Python-példa, amelyek segítenek a gyors tanulásbanEz a cikk az alapvető python példákról szól azok számára, akik már rendelkeznek valamilyen programozási tapasztalattal és egyszerűen csak a lehető leggyorsabban akarnak átmenni a Python-ba. Olvass tovább ha nem tudja, hol kezdje. Ha úgy gondolja, hogy a Python haszontalan nyelv, nézd meg a mi oldalt okok miatt miért nem így van 5 ok, amiért a Python programozás nem feleslegesPython - Vagy szereted, vagy utálod. Lehet, hogy ingaként ingadozik az egyik végről a másikra is. Függetlenül attól, hogy a Python olyan nyelv, amelyben nehezen lehet kétértelmű. Olvass tovább .
Bár a következő alapvető ötletek bármilyen nyelvre alkalmazhatók, a Pythonban bemutatom a példákat. Ez egy könnyű nyelvtanulási lehetőség, és kiváló platformot kínál a folyamat megértéséhez. Ezen túlmenően, tutorialspoint.com kiváló online Python-tolmácsot biztosít - akkor is nem kell telepítenie a Python-ot, ha nem akarja (ha igen, akkor nézd meg útmutató a virtuális környezetekhez Tanulja meg, hogyan kell használni a Python virtuális környezetetAkár tapasztalt Python-fejlesztő, akár éppen most kezdődik, minden Python-projekthez nélkülözhetetlen a virtuális környezet beállításának megtanulása. Olvass tovább ).
Adatstruktúrák
Mi a adatszerkezet? A legalapvetőbb szinten az adatszerkezet az adatok hatékony tárolásának egyik módja. Könnyen összetéveszthető, mert az adatszerkezetek nem adattípusok. Az adattípusok megmondják a fordítónak (vagy Python esetén a tolmácsot), hogy az adatokat hogyan kívánják felhasználni. Az adatstruktúrák meghatározzák a végrehajtható műveleteket, és gyakran végrehajtanak speciális szabályokat és előírásokat.
Lehet, hogy hallottál már néhányról lineáris adattípusok (az elemek egymást követve):
- Sor
- Mátrix
- Keresési táblázat
Hasonlóképpen, listák gyakran szabályokat és módszereket tartalmaznak működésük szabályozására. Néhány általános lista a következő:
- Kapcsolt lista
- Kettős kapcsolt lista
- Tömblista vagy dinamikus tömb
Rengeteg különféle adatszerkezet létezik. Lehet, hogy hallottál róla bináris fák, grafikonokvagy hash. Ma megvitatom az alapokat, de érdemes többet megtudni, ha kényelmesebbé válik.
Sor
Kezdjük az elején. A tömb a (kapcsolódó) értékek egyszerű gyűjteménye. Ezeket az értékeket elemeknek nevezzük. Ezek általában bármilyen adattípus lehetnek, például az objektumok vagy más listák! A tömbökkel kapcsolatos fő óvintézkedés az, hogy minden adatnak azonosnak kell lennie - nem szabad vegyes karakterláncokat és egészeket tárolni. te közel mindig meg kell határoznia, hogy hány elemet szeretne tárolni. Változó méret vagy dinamikus tömbök léteznek, de a rögzített hosszúságú tömbök egyszerűbb kezdeni.
A Python némileg bonyolítja a dolgokat. Nagyon könnyűvé teszi a dolgokat, de nem mindig tartja be az adatszerkezetek szigorú meghatározásait. A Python legtöbb objektuma általában lista, tehát egy tömb létrehozása valójában több munka. Íme néhány kezdő kód:
tömbből import tömb. számok = tömb ('i', [2, 4, 6, 8]) nyomtatási számok [0]
Az első sor importálja a sor modul - amely a tömbökkel való együttműködéshez szükséges. A második sor új tömböt hoz létre szám és inicializálja a 2, 4, 6 és 8 értékkel. Minden elemhez hozzá van rendelve egész szám érték a kulcs vagy index. A kulcsok indulnak nulla, így szám [0] eléri az első elemet (2):
Kíváncsi lehet, hogy mi 'én' használják. Ez egy typecode ami azt mondja Pythonnak, hogy a tömb egész számot fog tárolni. Ilyenfajta dologra általában nincs szükség Python-ban („unpityónusnak” tekintik). Ennek oka egyszerű. A Python tömbjei egy nagyon vékony csomagolóeszköz az operációs rendszer mögöttes C tömbjein. Ez azt jelenti, hogy gyorsak és stabilak, de nem mindig tartják be a Python szintaxist.
Ezekben a tömbökben nem tárolhatók vegyes típusok. Tegyük fel, hogy a „makeuseof.com” karakterláncot akarta tárolni:
számok = tömb ('i', [2, 4, 6, "makeuseof.com"])
Ez nem megengedett, és kivételt képez:
Így nyomtathatja ki az összes elemet:
nyomtatási számok
A tömb elemek elérésének ez a módja jól működik, és tökéletes a megfelelő feladathoz. Amit nem jó elérni, a teljes tömb elérése. A programozók eredendően lusták, ezért boldogan írok többet, jobb kódot, ha ez azt jelenti, hogy könnyebbé tehetem a karbantartást, és csökkenthetem a másolás és beillesztés erőfeszítéseit.
Minden programozási nyelv megvalósít valamilyen hurkot, amely tökéletes a listaelemek iterálásához (hurkolásához). A leggyakoribb hurkok míg és mert. A Python megkönnyíti a dolgokat azáltal, hogy a be hurok:
számhoz számon: nyomtatási szám
Figyelem, hogyan nem kellett hozzáférni az elemekhez a kulcsuk alapján. Ez egy sokkal jobb módszer a tömb kezelésére. A lista egy iterációjának alternatív módja a mert hurok:
i tartományban (len (számok)): nyomtatási számok [i]
Ez pontosan ugyanazt teszi, mint az előző példa, bár meg kellett határoznia a tömb elemeinek számát (len (autók)), az áthaladással együtt én mint a tömb kulcsa. Ez majdnem pontosan az a kód be hurkok futnak. Ez az út kissé nagyobb rugalmasságot biztosít, és kissé gyorsabb (bár be hurkok több mint elég gyors a többség az idő.)
List
Most, hogy tudja, hogy a tömbök működnek, nézzünk meg egy listát. Időnként zavaró lehet, mivel az emberek különböző terminológiákat használnak felcserélhetően és felsorolnak vannak tömbök... egyfajta.
A lista egy speciális tömb típus. A legnagyobb különbség az, hogy a listák tartalmazhatnak vegyes típusok (ne feledje, a tömböknek azonos típusú elemeket kell tartalmazniuk). A listák nagyon egyszerűek a Pythonban:
autók = ['Ford', 'Austin', 'Lancia']
Figyelem, hogyan nem kell importálnia a sor modul?
Ez a szintaxis deklarálja az autóknak nevezett listát. A szögletes zárójelben a lista minden elemét deklarálják. Az egyes elemeket vessző választja el egymástól, és mivel minden elem egy karakterlánc, idézőjelekben deklarálja őket. Python tudja, hogy ez egy objektum, tehát a nyomtatás Az utasítás a lista tartalmát adja ki:
nyomtatott autók
Csakúgy, mint a tömb, a ciklikus elemekkel itereerálhatja a listaelemeket:
autóban autókhoz: nyomtatott autó
A listák valódi párt trükkö a vegyes típusuk. Add tovább, és adj hozzá néhány extra adatot:
autók = ['Ford', 'Austin', 'Lancia', 1, 0.56]
A Python számára ez nem jelent problémát - még kivételt sem vetett fel:
Könnyű új elemeket hozzáadni a listához (valami tömbnél nem lehetséges):
autók = ['Ford', 'Austin'] nyomtatott autók. cars.append ( 'Lancia') nyomtatott autók
Két listát egyesíthet egybe:
autók = ['Ford', 'Austin'] nyomtatott autók. other_cars = ['Lotus', 'Lancia'] cars.extend (egyéb_autók) nyomtatott autók
Ugyanolyan egyszerű az elemek eltávolítása a eltávolítás szintaxis:
autók = ['Ford', 'Austin', 'Lotus', 'Lancia'] nyomtatott autók. cars.remove ( 'Ford') nyomtatott autók
Ez körülbelül lefedi a listák és tömbök alapjait Pythonban. Miért ne fontolná meg egy olyan kódolási projektet, mint a olvasás és írás a Google Táblázatokba Hogyan kell olvasni és írni a Google Táblázatokhoz a Python segítségévelA Python furcsának és szokatlannak tűnhet, azonban könnyen megtanulható és használható. Ebben a cikkben bemutatom, hogyan kell elolvasni és írni a Google Táblázatokhoz a Python használatával. Olvass tovább , json adatok olvasása Hogyan kaphatunk Python-ot és JavaScript-et a JSON használatával történő kommunikációhoz?Ma megmutatom, hogyan lehet a JSON segítségével adatokat küldeni a JavaScript-ből a Python-ba. Bemutatom a webszerver beállítását, a szükséges kóddal együtt. Olvass tovább . Lehet, hogy új készségeit felhasználnád valamilyen készítésre egyedi parancsikonok Készítsen saját egyedi parancsikonokat egy Arduino készülékkelA szerény Arduino sok mindent megtehet, de tudta, hogy emulálhatja az USB billentyűzetet? A hosszú billentyűparancsokat egyetlen egyedi gyorsbillentyűvé kombinálhatja ezzel az egyszerű áramkörrel. Olvass tovább . Annak ellenére, hogy eltérő programozási nyelv, ezek a tömb elvek továbbra is érvényesek.
Tudtál valami újat? Szeretne látni néhány bonyolultabb tartalmat? Tudassa velünk gondolatait az alábbi megjegyzésekben!
Joe számítógépes ismeretek diplomáját szerezte az Egyesült Királyság Lincolni Egyetemen. Professzionális szoftverfejlesztő, és amikor nem repül drónokkal és nem ír zenét, gyakran találkozhat fényképezéssel vagy videó készítésével.