Hogyan működnek a tömbök és listák a Pythonban

Hogyan működnek a tömbök és listák a Pythonban

A tömbök és listák a programozás egyik leghasznosabb adatstruktúrája - bár csak kevesen használják ki őket teljes mértékben. Ma az alapokról fogok beszélni, néhány egyszerű Python -példával együtt.





Előfeltételek

Ezeknek a fogalmaknak a megismeréséhez nem sok mindent kell előre tudni. A programozási paradigmák és a Python alapvető ismerete hasznos lesz, de nem kötelező. Olvassa el a mi alapvető Python példák ha nem tudja, hol kezdje. Ha úgy gondolja, hogy a Python haszontalan nyelv, nézze meg, miért nem.





Bár a következő alapvető ötletek bármely nyelvre alkalmazhatók, a példákat a Pythonban mutatom be. Ez egy könnyen megtanulható nyelv, és kiváló platformot biztosít a történések megértéséhez. Ezen túlmenően, tutorialspoint.com kiváló online Python -tolmácsot biztosít - ha nem akarja, nem is kell telepítenie a Python -t (ha igen, tekintse meg a virtuális környezetekről szóló útmutatót).





Adatszerkezetek

Mi az a adatszerkezet ? A legalapvetőbb szinten az adatstruktúra az adatok hatékony tárolásának módja. Könnyű összezavarodni, mert az adatstruktúrák nem adattípusok . Az adattípusok megmondják a fordítónak (vagy Python esetében az értelmezőnek), hogy az adatokat hogyan kell felhasználni. Az adatstruktúrák végrehajtható műveleteket határoznak meg, és gyakran speciális szabályokat és előírásokat hajtanak végre.

Lehet, hogy hallott néhányról lineáris adattípusok (az elemek egymás után):



  • Sor
  • Mátrix
  • Keresési táblázat

Hasonlóképpen, listákat gyakran szabályokat és módszereket tartalmaznak működésük szabályozására. Néhány gyakori lista:

  • Linkelt lista
  • Duplán linkelt lista
  • Tömblista vagy dinamikus tömb

Különféle adatstruktúrák sokasága létezik. Lehet, hogy hallottál róla bináris fák , grafikonok , vagy hashes . Ma az alapokról fogok beszélni, de érdemes többet megtudni, ha jól érzi magát.





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 tetszőleges adattípusok lehetnek, beleértve az objektumokat vagy más listákat is! A tömbökkel kapcsolatos fő figyelmeztetés az, hogy minden adatnak azonosnak kell lennie - nem tárolhat kevert karakterláncokat és egész számokat. te közel mindig meg kell adnia, hogy hány elemet szeretne tárolni. Változó méretű ill dinamikus tömbök léteznek, de a fix hosszúságú tömbökkel egyszerűbb kezdeni.

A Python kissé bonyolítja a dolgokat. Nagyon megkönnyíti a dolgokat az Ön számára, de nem mindig ragaszkodik az adatstruktúrák szigorú meghatározásához. A Python legtöbb objektuma általában lista, így a tömb létrehozása valójában több munka. Íme néhány kezdő kód:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

Az első sor importálja a sor modul - ez tömbökkel való munkához szükséges. A második sor új tömböt hoz létre számokat és inicializálja a 2, 4, 6 és 8 értékekkel. Minden elemhez van rendelve egy egész szám a nevű érték kulcs vagy index . A kulcsok ekkor kezdődnek: nulla , így számok [0] hozzáfér az első elemhez ( 2 ):

Lehet, hogy kíváncsi, mi az 'én' -ra használják. Ez egy típuskód ez azt mondja a Pythonnak, hogy a tömb egész számokat fog tárolni. Az ilyesmire általában nincs szükség a Pythonban („unpythonic” -nak minősülne). Ennek oka egyszerű. A Python tömbjei egy nagyon vékony burkolat az operációs rendszer mögöttes C tömbjeiben. Ez azt jelenti, hogy gyorsak és stabilak, de előfordulhat, hogy nem mindig tartják be a Python szintaxist.

hogyan lehet megtudni, hogy mikor jelent meg cikk

Nem tárolhat vegyes típusokat ezekben a tömbökben. Tegyük fel, hogy a 'makeuseof.com' karakterláncot szeretné tárolni:

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Ez nem engedélyezett, és kivételt jelent:

Így nyomtathatja ki az összes elemet:

print(numbers)

Ez a tömb -elemek elérési módja jól működik, és tökéletes a megfelelő feladathoz. Ami nem jó, az az egész tömb elérése. A programozók eleve lusták, ezért boldogan írok több, jobb kódot, ha ez azt jelenti, hogy megkönnyíthetem a karbantartást, és csökkenthetem a másolás és beillesztés erőfeszítéseit.

Minden programozási nyelv valamilyen hurkot valósít meg, amelyek tökéletesek a listaelemek iterálására (hurkolására). A leggyakoribb hurkok míg és számára . A Python még könnyebbé teszi a dolgokat azáltal, hogy a be hurok:

for number in numbers:
print(number)

Figyelje meg, hogyan nem kellett kulcsokhoz hozzáférnie az elemekhez. Ez sokkal jobb módja a tömbökkel való munkavégzésnek. A lista ismétlésének alternatív módja a számára hurok:

for i in range(len(numbers)):
print(numbers[i])

Ez pontosan ugyanazt teszi, mint az előző példa, bár meg kellett adnia a tömb elemeinek számát ( len (autók) ), az elmúlással együtt én mint a tömb kulcsa. Szinte pontosan ez a kód be hurkok futnak. Ez valamivel nagyobb rugalmasságot biztosít, és valamivel gyorsabb (bár be hurkok több mint elég gyorsak többség az időből.)

Listák

Most, hogy ismeri a tömbök működését, nézzünk egy listát. Ez néha zavaró lehet, mivel az emberek felcserélhetően használnak különböző terminológiákat és listákat vannak tömbök ... fajta.

A lista egy speciális típusú tömb. 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:

hogyan kell használni a számbillentyűzetet laptopon numlock nélkül
cars = ['Ford', 'Austin', 'Lancia']

Figyelje meg, hogyan nem kell importálnia sor modul?

Ez a szintaxis az autók nevű listát deklarálja. A szögletes zárójelben a lista minden eleme deklarálva van. Minden elem vesszővel van elválasztva, és mivel mindegyik elem egy karakterlánc, az idézőjelek közé sorolja őket. A Python tudja, hogy ez egy objektum, ezért a nyomtatás utasítás kiadja a lista tartalmát:

print(cars)

A tömbhöz hasonlóan a listaelemeket ciklusok segítségével is megismételheti:

for car in cars:
print(car)

A listák igazi pártfogása a vegyes típusuk. Folytassa, és adjon hozzá néhány további adatot:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Ez nem jelent problémát a Python számára - nem is tett kivételt:

Könnyű új elemeket hozzáadni a listához (valami nem lehetséges tömbökkel):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Két listát is egyesíthet egybe:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

Ugyanilyen egyszerű eltávolítani az elemeket a távolítsa el szintaxis:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Ez körülbelül a Python listáinak és tömbjeinek alapjait tartalmazza. Miért nem fontol meg egy kódolási projektet, például olvasást és írást a Google Táblázatokba, json adatok olvasását. Talán felhasználhatná új készségeit néhány készítéshez egyéni gyorsgombok . Annak ellenére, hogy más a programozási nyelvük, ezek a tömbelvek továbbra is érvényesek.

Részvény Részvény Csipog Email 5 tipp a VirtualBox Linux gépek feltöltéséhez

Unod már a virtuális gépek gyenge teljesítményét? Íme, mit kell tennie a VirtualBox teljesítményének növelése érdekében.

Olvassa tovább
Kapcsolódó témák
  • Programozás
  • Programozás
  • Piton
A szerzőről Joe Coburn(136 megjelent cikk)

Joe az Egyesült Királyságban, a Lincoln Egyetemen végzett informatikából. Professzionális szoftverfejlesztő, és amikor nem repül drónokkal és nem ír zenét, gyakran előfordul, hogy fényképeket készít vagy videókat készít.

Joe Coburn további alkotásai

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide