För några dagar sedan arbetade jag med ett Pythonprojekt och jag var tvungen att använda mig av listor. Jag skapade en tom lista och gav den namnetcost_array
. En vän såg detta och ställde frågan:
”Vad är skillnaden mellan en lista och en array?”
Jag började fundera eftersom jag tidigare alltid har betraktat data av typen som listor i Python och arrays i Javascript. Tydligen är en Array också en datatyp i Python, vilket innebär att vi har typen
array
och list
(listtypen är mer populär). De flesta får använda arrays när de vågar sig på datavetenskap och använder sig av bibliotek som numpy
. Arrays är den verkliga arbetshästen bland datastrukturer för vetenskapliga och tekniska tillämpningar. Den mest populära typen av array som används i Python är numpy
array.
- Båda används för att lagra data
- Båda är föränderliga
- Båda kan indexeras och itereras genom
- Båda kan skivas
Differenser
Den största skillnaden mellan de här två datatyperna är den operation du kan utföra på dem. Arrayer är speciellt optimerade för aritmetiska beräkningar så om du ska utföra liknande operationer bör du överväga att använda en array istället för en lista.
Listor är också behållare för element som har olika datatyper, medan arrayer används som behållare för element av samma datatyp.
Exemplet nedan är resultatet av att dividera en array med ett visst antal och att göra samma sak för en lista. När vi försöker utföra samma operation (exempel: division) på en lista får vi ett TypeError eftersom inbyggda pythonlistor inte stöder protokollet `__div____`. Det tar ett extra steg att utföra den här beräkningen på en lista eftersom man då måste slinga över varje objekt efter varandra och spara till en annan lista.
Stress!!