logo

Kaip konvertuoti masyvą į sąrašą python?

Naudojant Python's tolist() funkcija , masyvą galite paversti sąrašu. Štai pavyzdys:

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

Išvestis:

yra baltyminiai riebalai
 [1, 2, 3, 4, 5] 

Šiame pavyzdyje array.array() konstruktorius naudojamas kuriant masyvą arr tipo 'aš', kuris reiškia sveikuosius skaičius. Po to, tolist() metodas naudojamas konvertuoti masyvą arr į sąrašą lst . Galiausiai, type() funkcija naudojamas norint patikrinti, ar gautas rezultatas lst iš tikrųjų yra sąrašas ir print() funkcija naudojamas sąrašo turiniui rodyti.

Vienas iš būdų yra naudoti sąrašo supratimą. Sąrašo supratimas yra glaustas būdas sukurti naują sąrašą pritaikant funkciją kiekvienam esamo sąrašo elementui. Štai pavyzdys, kaip naudoti sąrašo supratimą konvertuojant masyvą į sąrašą:

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

Išvestis:

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

Šiame pavyzdyje masyvas arr kartojamas naudojant dėl() kilpa ir kiekvienas elementas x masyvo įtraukiamas į naują sąrašą lst naudojant sąrašo supratimą. Galiausiai, type() funkcija naudojamas norint patikrinti, ar gautas rezultatas lst tikrai yra a sąrašą , ir print() funkcija naudojamas sąrašo turiniui rodyti.

Masyvo elementai nėra kopijuojami ar dubliuojami. Vietoj to sąraše bus nuoroda į tuos pačius įrašus kaip ir pradinis masyvas. Tai reiškia, kad pakeitus sąrašą bus pakeistas ir pradinis masyvas. Pateikiame pavyzdį šiam klausimui parodyti:

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

Išvestis:

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

Šiame pavyzdyje masyvas arr konvertuojamas į sąrašą lst naudojant tolist() metodas . Po to pirmasis sąrašo elementas lst yra modifikuotas taip 10 . Kai paleisite kodą, galite pamatyti, kad pradinis masyvas arr taip pat buvo pakeistas, kaip dabar yra pirmasis masyvo elementas 10 taip pat.

žymėjimas vaizdais

Jei norite sukurti visiškai atskirą sąrašą su tais pačiais elementais kaip ir masyvas, turite naudoti copy() metodas iš kopijavimo modulio. Štai pavyzdys:

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

Išvestis:

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

Šiame pavyzdyje copy.copy() metodas naudojamas kuriant a sekli kopija masyvo arr ir priskirti jį sąrašui lst . Dabar, kai pirmasis sąrašo elementas lst yra modifikuotas taip 10 , pradinis masyvas arr nėra paveiktas.