Com funcionen les matrius i les llistes a Python

Com funcionen les matrius i les llistes a Python

Les matrius i les llistes són algunes de les estructures de dades més útils a la programació, tot i que poques persones les utilitzen realment al màxim. Avui us parlaré dels conceptes bàsics, juntament amb alguns exemples simples de Python.





Requisits previs

No hi ha molt que necessiteu saber per endavant per aprendre aquests conceptes. Un coneixement bàsic de paradigmes de programació i Python serà útil, però no és necessari. Llegiu el nostre document exemples bàsics de Python si no saps per on començar. Si creieu que Python és un llenguatge inútil, consulteu els nostres motius pels quals no ho és.





Tot i que les següents idees fonamentals es poden aplicar a qualsevol idioma, demostraré els exemples de Python. És un idioma fàcil d’aprendre i proporciona una plataforma excel·lent per entendre què passa. A més d'això, tutorialspoint.com proporciona un excel·lent intèrpret de Python en línia: ni tan sols cal instal·lar Python si no ho voleu (si ho feu, consulteu la nostra guia d’entorns virtuals).





Estructures de dades

Què és un estructura de dades ? En el seu nivell més bàsic, una estructura de dades és una manera d’emmagatzemar dades de manera eficient. És fàcil confondre’s perquè les estructures de dades no ho són tipus de dades . Els tipus de dades indiquen al compilador (o, en el cas de Python, l’intèrpret) com es pretén utilitzar les dades. Les estructures de dades especifiquen les operacions que es poden realitzar i sovint implementen regles i reglaments específics.

Potser n’haureu sentit a parlar lineal tipus de dades (els elements són seqüencials):



  • Matriu
  • Matriu
  • Taula de cerca

De la mateixa manera, llistes sovint contenen regles i mètodes per regular el seu funcionament. Algunes llistes habituals són:

  • Llista enllaçada
  • Llista doblement enllaçada
  • Llista de matrius o matriu dinàmica

Hi ha una gran quantitat d’estructures de dades diferents. Potser n’heu sentit a parlar arbres binaris , gràfics , o hash . Avui discutiré els conceptes bàsics, però és possible que vulgueu obtenir més informació un cop us sentiu còmode.





Matriu

Comencem pel principi. Una matriu és una col·lecció senzilla de valors (relacionats). Aquests valors s’anomenen elements. Normalment poden ser qualsevol tipus de dades que vulgueu, inclosos objectes o altres llistes. La principal advertència amb matrius és que totes les dades han de ser les mateixes: no es poden emmagatzemar cordes mixtes i enters. Vostè gairebé sempre heu d’especificar quants elements voleu emmagatzemar. Mida variable o matrius dinàmics existeixen, però les matrius de longitud fixa són més senzilles per començar.

Python complica una mica les coses. Us facilita les coses, però no sempre s’adhereix a definicions estrictes d’estructures de dades. La majoria dels objectes de Python solen ser llistes, de manera que crear una matriu és realment més útil. Aquí teniu un codi d’inici:





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

La primera línia importa el fitxer matriu mòdul: és necessari per treballar amb matrius. La segona línia crea una nova matriu anomenada números i l'inicialitza amb els valors 2, 4, 6 i 8. A cada element se li assigna un enter valor anomenat a clau o bé índex . Les claus comencen a zero , tan números [0] accedirà al primer element ( 2 ):

És possible que us pregunteu què 'jo' s'utilitza per. Això és un codi de tipus que indica a Python que la matriu emmagatzemarà enters. Aquest tipus de coses normalment no serien necessàries a Python (es consideraria 'impitònic'). El motiu d’això és senzill. Les matrius de Python són un embolcall molt prim a les matrius C subjacents del vostre sistema operatiu. Això vol dir que són ràpids i estables, però no sempre s’adhereixen a la sintaxi de Python.

com ajustar la brillantor a l'escriptori de Windows 10

No podeu emmagatzemar tipus mixtos en aquestes matrius. Suposem que voleu emmagatzemar la cadena 'makeuseof.com':

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

Això no es permetrà i generarà una excepció:

A continuació s’explica com podeu imprimir tots els elements:

print(numbers)

Aquest mètode d'accés als elements de la matriu funciona bé i és perfecte per a la tasca adequada. El que no és bo és accedir a tota la matriu. Els programadors són intrínsecament mandrosos, de manera que amb molt de gust escriuré més, millor codi, si vol dir que puc facilitar el manteniment i reduir l’esforç de copiar i enganxar.

Tots els llenguatges de programació implementaran un bucle d'algun tipus, que són perfectes per a iterar (en bucle) sobre elements de llista. Els bucles més habituals són mentre i per . Python fa les coses encara més fàcils proporcionant un fitxer per a bucle:

for number in numbers:
print(number)

Fixeu-vos en com no vau haver d’accedir als elements mitjançant la seva clau. Aquesta és una manera molt millor de treballar amb una matriu. Una forma alternativa d’iterar una llista és amb un fitxer per bucle:

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

Això fa exactament el mateix que l'exemple anterior, tot i que heu hagut d'especificar el nombre d'elements de la matriu ( len (cotxes) ), juntament amb el pas jo com a clau de la matriu. Aquest és gairebé exactament el codi que per a els bucles s’executen. D’aquesta manera proporciona una mica més de flexibilitat i és una mica més ràpid (encara que per a els bucles són més que prou ràpids majoria del temps.)

Llistes

Ara que ja sabeu com funcionen les matrius, vegem una llista. De vegades pot ser confús, ja que la gent utilitza diferents terminologies de manera indistinta i llistes són matrius ... una mena de.

Una llista és un tipus especial de matriu. La diferència més gran és que les llistes poden contenir mixta tipus (recordeu, les matrius han de contenir elements del mateix tipus). Les llistes són molt fàcils a Python:

Windows 10 no actualitza prou espai
cars = ['Ford', 'Austin', 'Lancia']

Fixeu-vos en com no necessiteu importar el fitxer matriu mòdul?

Aquesta sintaxi declara una llista anomenada cotxes. Dins dels claudàtors, es declara cada element de la llista. Cada element està separat per una coma i, com que cada element és una cadena, els declareu entre cometes. Python sap que es tracta d'un objecte, de manera que imprimir sentència mostrarà el contingut de la llista:

print(cars)

Igual que amb la matriu, podeu iterar els elements de la llista mitjançant l'ús de bucles:

for car in cars:
print(car)

L’autèntic truc de festa de les llistes és el seu tipus mixt. Seguiu endavant i afegiu algunes dades addicionals:

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

Això no suposa cap problema per a Python: ni tan sols va plantejar una excepció:

És fàcil afegir elements nous a una llista (cosa que no és possible amb les matrius):

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

També podeu combinar dues llistes en una sola:

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

És igual de fàcil eliminar elements mitjançant el fitxer eliminar sintaxi:

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

Això sobre cobreix els conceptes bàsics de llistes i matrius de Python. Per què no us plantegeu un projecte de codificació, com ara llegir i escriure a Fulls de càlcul de Google, llegir dades JSON. Potser podríeu utilitzar les vostres noves habilitats per fer-ne algunes botons de drecera personalitzats . Tot i ser un llenguatge de programació diferent, aquests principis de matriu encara s’apliquen.

Compartir Compartir Tweet Correu electrònic 5 consells per sobrecarregar les vostres màquines VirtualBox Linux

Cansat del baix rendiment que ofereixen les màquines virtuals? Això és el que heu de fer per millorar el rendiment del VirtualBox.

Llegiu a continuació
Temes relacionats
  • Programació
  • Programació
  • Python
Sobre l'autor Joe Coburn(136 articles publicats)

Joe és llicenciat en Informàtica per la Universitat de Lincoln, Regne Unit. És un desenvolupador de programari professional i, quan no fa drons voladors ni escriu música, sovint se’l pot trobar fent fotos o produint vídeos.

Més de Joe Coburn

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us