logo

Hvordan konverteres et array til en liste i python?

Bruger Python's tolist() funktion , kan du forvandle et array til en liste. Her er et eksempel:

 import array arr = array.array('i', [1, 2, 3, 4, 5]) lst = arr.tolist() print(type(lst)) # print(lst) 

Produktion:

java streng tilføje
 [1, 2, 3, 4, 5] 

I dette eksempel er array.array() konstruktør bruges til at oprette et array arr af typen 'jeg', som står for heltal. Herefter er tolist() metode bruges til at konvertere arrayet arr til en liste lst . Endelig, den type() funktion bruges til at verificere, at den resulterende lst er faktisk en liste, og print() funktion bruges til at vise indholdet af listen.

En måde er at bruge listeforståelse. En listeforståelse er en kortfattet måde at oprette en ny liste på ved at anvende en funktion på hvert element i en eksisterende liste. Her er et eksempel på brug af listeforståelse til at konvertere en matrix til en liste:

 import array arr = array.array('i', [1, 2, 3, 4, 5]) lst = [x for x in arr] print(type(lst)) # print(lst) 

Produktion:

java matematik
 [1, 2, 3, 4, 5] 

I dette eksempel er arrayet arr gentages over brug til() sløjfe og hvert element x af arrayet føjes til en ny liste ved at bruge listeforståelsen. Endelig, den type() funktion bruges til at verificere, at den resulterende lst er faktisk en liste , og print() funktion bruges til at vise indholdet af listen.

Arrayets elementer bliver ikke kopieret eller duplikeret. Listen vil i stedet referere til de samme poster som den oprindelige matrix. Det indebærer, at ændring af listen også vil ændre det oprindelige array. Her er et eksempel for at demonstrere dette punkt:

 import array arr = array.array('i', [1, 2, 3, 4, 5]) lst = arr.tolist() lst[0] = 10 print(arr) 

Produktion:

 array('i', [10, 2, 3, 4, 5]) 

I dette eksempel konverteres array arr til en liste ved hjælp af tolist() metode . Derefter det første element på listen lst er ændret til at være 10 . Når du kører koden, kan du se, at det originale array arr er også blevet ændret, som det første element i arrayet er nu 10 såvel.

Hvis du vil oprette en helt separat liste med de samme elementer som et array, skal du bruge copy() metode fra kopimodulet. Her er et eksempel:

 import array import copy arr = array.array('i', [1, 2, 3, 4, 5]) lst = copy.copy(arr) lst[0] = 10 print(arr) 

Produktion:

grænse ved hjælp af css
 array('i', [1, 2, 3, 4, 5]) 

I dette eksempel er copy.copy() metode bruges til at skabe en flad kopi af arrayet arr og tildel den til listen lst . Nu, når det første element på listen lst er ændret til at være 10 , det originale array arr er ikke påvirket.