For nogle dage siden arbejdede jeg på et Python-projekt, og jeg var nødt til at gøre brug af lister. Jeg oprettede en tom liste og navngav dencost_array
. En ven så dette og stillede spørgsmålet:
“Hvad er forskellen på en liste og et array?”
Jeg begyndte at gruble, for før nu har jeg altid betragtet data af typen som lister i Python og arrays i Javascript. Tilsyneladende er en Array også en datatype i Python, hvilket betyder, at vi har
array
-typen og list
-typen (listetypen er mere populær). De fleste mennesker kommer til at bruge arrays, når de vover sig ud i Data Science og gør brug af biblioteker som numpy
. Arrays er den virkelige arbejdshest blandt datastrukturer til videnskabelige og tekniske applikationer. Den mest populære type array, der anvendes i Python, er numpy
arrayet.
- Både bruges til lagring af data
- Både er mutable
- Både kan indekseres og itereres igennem
- Både kan skæres i skiver
forskelle
Den største forskel mellem disse to datatyper er den operation, du kan udføre på dem. Arrays er specielt optimeret til aritmetiske beregninger, så hvis du skal udføre lignende operationer, bør du overveje at bruge et array i stedet for en liste.
Lister er også containere for elementer med forskellige datatyper, mens arrays bruges som containere for elementer af samme datatype.
Eksemplet nedenfor er resultatet af at dividere et array med et bestemt antal og gøre det samme for en liste. Når vi forsøger den samme operation (eksempel: division) på en liste, får vi en TypeError, fordi indbyggede python-lister ikke understøtter protokollen `__div____`. Det kræver et ekstra trin at udføre denne beregning på en liste, fordi man så skal løbe over hvert element efter hinanden og gemme det på en anden liste.
Stress!!!