logo

Hvordan konvertere en matrise til en liste i python?

Bruker Python's tolist() funksjon , kan du gjøre en matrise 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) 

Produksjon:

maur vs maven
 [1, 2, 3, 4, 5] 

I dette eksemplet er array.array()-konstruktør brukes til å lage en matrise arr av typen 'Jeg', som står for heltall. Etter det har tolist()-metoden brukes til å konvertere matrisen arr til en liste lst . Til slutt, den type() funksjon brukes til å bekrefte at resultatet lst er virkelig en liste, og print() funksjon brukes til å vise innholdet i listen.

En måte er å bruke listeforståelse. En listeforståelse er en kortfattet måte å lage en ny liste på ved å bruke en funksjon på hvert element i en eksisterende liste. Her er et eksempel på bruk av listeforståelse for å konvertere en matrise 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) 

Produksjon:

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

I dette eksemplet er matrisen arr itereres over bruk til() løkke og hvert element x av matrisen legges til en ny liste ved å bruke listeforståelsen. Til slutt, den type() funksjon brukes til å bekrefte at resultatet lst er virkelig en liste , og print() funksjon brukes til å vise innholdet i listen.

Arrayens elementer blir ikke kopiert eller duplisert. Listen vil i stedet referere til de samme oppføringene som den opprinnelige matrisen. Det innebærer at endring av listen også vil endre den opprinnelige matrisen. Her er et eksempel for å demonstrere dette punktet:

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

Produksjon:

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

I dette eksemplet konverteres array arr til en liste ved å bruke tolist()-metoden . Etter det, det første elementet på listen lst er modifisert til å være 10 . Når du kjører koden, kan du se at den opprinnelige matrisen arr har også blitt modifisert, slik det første elementet i arrayet er nå 10 også.

Hvis du vil lage en helt egen liste med de samme elementene som en matrise, må du bruke copy() metode fra kopimodulen. 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) 

Produksjon:

grense ved hjelp av css
 array('i', [1, 2, 3, 4, 5]) 

I dette eksemplet er copy.copy()-metoden brukes til å lage en grunt eksemplar av matrisen arr og tilordne den til listen lst . Nå, når det første elementet på listen lst er modifisert til å være 10 , den originale matrisen arr er ikke berørt.