logo

Kā pārvērst masīvu par sarakstu programmā python?

Izmantojot Python's tolist() funkcija , varat pārvērst masīvu par sarakstu. Šeit ir piemērs:

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

Izvade:

jpoga
 [1, 2, 3, 4, 5] 

Šajā piemērā array.array() konstruktors tiek izmantots, lai izveidotu masīvu arr tipa 'es', kas apzīmē veselus skaitļus. Pēc tam, tolist() metode tiek izmantots masīva konvertēšanai arr uz sarakstu lst . Visbeidzot, type() funkcija tiek izmantots, lai pārbaudītu, vai iegūtais lst patiešām ir saraksts, un print() funkcija tiek izmantots, lai parādītu saraksta saturu.

Viens veids ir izmantot saraksta izpratni. Saraksta izpratne ir īss veids, kā izveidot jaunu sarakstu, katram esošā saraksta elementam piemērojot funkciju. Šeit ir piemērs, kā izmantot saraksta izpratni, lai pārvērstu masīvu par sarakstu:

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

Izvade:

 [1, 2, 3, 4, 5] 

Šajā piemērā masīvs arr tiek atkārtots, izmantojot priekš() cilpa un katrs elements x masīva tiek pievienots jaunam sarakstam lst, izmantojot saraksta izpratni. Visbeidzot, type() funkcija tiek izmantots, lai pārbaudītu, vai iegūtais lst tiešām ir a sarakstu , un print() funkcija tiek izmantots, lai parādītu saraksta saturu.

Masīva elementi netiek kopēti vai dublēti. Tā vietā sarakstā būs atsauce uz tiem pašiem ierakstiem kā sākotnējā masīvā. Tas nozīmē, ka, mainot sarakstu, tiks mainīts arī sākotnējais masīvs. Šeit ir piemērs, lai parādītu šo punktu:

atrodiet bloķētos numurus operētājsistēmā Android
 import array arr = array.array('i', [1, 2, 3, 4, 5]) lst = arr.tolist() lst[0] = 10 print(arr) 

Izvade:

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

Šajā piemērā masīvs arr tiek pārveidots par sarakstu lst, izmantojot tolist() metode . Pēc tam pirmais saraksta elements lst ir pārveidots par 10 . Palaižot kodu, jūs varat redzēt, ka sākotnējais masīvs arr ir arī modificēts, tāpat kā tagad ir pirmais masīva elements 10 arī.

Ja vēlaties izveidot pilnīgi atsevišķu sarakstu ar tādiem pašiem elementiem kā masīvs, jums ir jāizmanto copy() metode no kopēšanas moduļa. Šeit ir piemērs:

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

Izvade:

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

Šajā piemērā copy.copy() metode tiek izmantots, lai izveidotu a sekla kopija no masīva arr un piešķiriet to sarakstam lst . Tagad, kad pirmais elements sarakstā lst ir pārveidots par 10 , sākotnējais masīvs arr netiek ietekmēta.