logo

Hur konverterar man en array till en lista i python?

Använder Python's tolist() funktion , kan du förvandla en array till en lista. Här är ett exempel:

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

Produktion:

kolla efter null i java
 [1, 2, 3, 4, 5] 

I det här exemplet är array.array() konstruktor används för att skapa en array arr av typ 'jag', som står för heltal. Efter det har tolist() metod används för att konvertera arrayen arr till en lista lst . Slutligen, den typ() funktion används för att verifiera att resultatet lst är verkligen en lista, och print() funktion används för att visa innehållet i listan.

Ett sätt är att använda listförståelse. En listförståelse är ett kortfattat sätt att skapa en ny lista genom att tillämpa en funktion på varje element i en befintlig lista. Här är ett exempel på hur man använder listförståelse för att konvertera en array till en lista:

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

Produktion:

exempel på java-kod
 [1, 2, 3, 4, 5] 

I det här exemplet, arrayen arr upprepas över att använda för() slinga och varje element x av arrayen läggs till en ny lista först med hjälp av listförståelsen. Slutligen, den typ() funktion används för att verifiera att resultatet lst är verkligen en lista , och den print() funktion används för att visa innehållet i listan.

Arrayens element kopieras eller dupliceras inte. Listan kommer istället att referera till samma poster som den initiala arrayen. Det innebär att ändring av listan också kommer att ändra den initiala arrayen. Här är ett exempel för att visa denna 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 det här exemplet konverteras matrisen arr till en lista lst med hjälp av tolist()-metoden . Efter det, det första elementet i listan lst är modifierad för att vara 10 . När du kör koden kan du se att den ursprungliga arrayen arr har också modifierats, som det första elementet i arrayen är nu 10 också.

Om du vill skapa en helt separat lista med samma element som en array måste du använda copy() metod från kopieringsmodulen. Här är ett exempel:

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

Produktion:

sökalgoritmer
 array('i', [1, 2, 3, 4, 5]) 

I det här exemplet är copy.copy() metoden används för att skapa en grund kopia av arrayen arr och tilldela den till listan lst . Nu, när det första elementet i listan lst är modifierad för att vara 10 , den ursprungliga arrayen arr påverkas inte.