Kopier matrise i Python

Kopier matrise i Python
Numpy er et veldig nyttig bibliotek med Python for å lage forskjellige typer matriser og utføre numeriske beregninger. Arrayen er en datastruktur av Python for å lagre flere elementer av Numpy. Maten kan kopieres i Python ved å bruke oppdragsoperatøren, forskjellige innebygde funksjoner på Numpy Library, og for en løkke. Ulike måter å kopiere en rekke i Python har blitt vist i denne opplæringen.

Eksempel 1: Kopier en matrise ved hjelp av '=' -operatøren

En matrise kan kopieres til en annen matrise ved å bruke "=" -oppgaveoperatøren. Men denne operatøren oppretter ikke en duplikatkopi av hovedmatrisen og oppretter bare en referanse til den opprinnelige matrisen. Så hvis noen verdi endres til den opprinnelige matrisen, vil den endre verdien av den kopierte matrisen også. Opprett en Python -fil med følgende skript for å sjekke bruken av tildelingsoperatøren for å kopiere en matrise.

#Import den numpy modulen
Importer numpy som NP
#Create en matrise
Array1 = NP.Array ([34.5, 89.34, 23.6, 45.72, 62.87])
#Copy the Array bruker '=' Operatør
Array2 = Array1
#Modifiser det fjerde elementet i hovedarrayen
Array1 [3] = 10.12
print ("Utgangen etter å ha endret hovedarrayen")
#Display begge matriser
Print ("Innholdet i hovedarrayen", Array1)
Print ("Innholdet i den kopierte arrayen", Array2)
#Modifiser det første elementet i den kopierte matrisen
Array2 [0] = 20.34
skriv ut ("\ nutgangen etter å ha endret den kopierte matrisen")
#Display begge matriser igjen
Print ("Innholdet i hovedarrayen", Array1)
Print ("Innholdet i den kopierte arrayen", Array2)

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at endringene i hovedmatrisendringen i den kopierte matrisen og endringene i kopiert matriseendring i hovedmatrisen.

Eksempel 2: Kopier en matrise ved hjelp av Copy () -funksjon

Ved hjelp av kopien () Funksjon er en annen måte å kopiere en rekke i Python. I dette tilfellet opprettes et nytt array -objekt fra den originale matrisen, og denne typen kopi kalles dyp kopi. Hvis noen verdi endres i den originale eller kopierte matrisen, skaper den ingen endring på en annen matrise. Syntaksen til kopien () -funksjonen er gitt nedenfor.

Syntaks

Array2 = Array1.kopiere()

Copy () -metoden tar ikke noe argument, og den returnerer en ny matrise med verdiene til den opprinnelige matrisen.

Opprett en Python -fil med følgende skript som vil kopiere en Numpy -matrise ved å bruke kopien () -funksjonen. Her har verdien av den opprinnelige matrisen og den kopierte matrisen blitt endret i skriptet.

#Import numpy modul
Importer numpy som NP
#Create en matrise
Array1 = NP.Array ([67, 45, 78, 12, 56, 51])
#Copy the Array ved hjelp av Copy () -funksjonen
Array2 = Array1.kopiere()
#Modifiser det tredje elementet i hovedgruppen
Array1 [2] = 99
print ("Utgangen etter å ha endret hovedarrayen")
#Display begge matriser
Print ("Innholdet i hovedarrayen", Array1)
Print ("Innholdet i den kopierte arrayen", Array2)
#Modifiser det sjette elementet i den kopierte matrisen
Array2 [5] = 0
skriv ut ("\ nutgangen etter å ha endret den kopierte matrisen")
#Display begge matriser igjen
Print ("Innholdet i hovedarrayen", Array1)
Print ("Innholdet i den kopierte arrayen", Array2)

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at endring i hovedmatrisen ikke endrer verdien av den kopierte matrisen, og endringen i den kopierte matrisen endrer ikke verdien på hovedgruppen.

Eksempel 3: Kopier en matrise ved hjelp av View () -funksjonen

Ved hjelp av utsikten () Funksjon er en annen måte å kopiere en rekke i Python. Men denne funksjonen oppretter ikke en duplikatkopi av hovedmatrisen og oppretter bare en referanse til den originale matrisen. Så hvis noen verdi endres til den opprinnelige matrisen, vil den endre verdien av den kopierte matrisen også. Denne typen kopi kalles grunne kopi. Syntaks for visningsfunksjonen er gitt nedenfor.

Syntaks

Array2 = Array1.utsikt()

Lag en Python -fil med følgende skript som vil kopiere en Numpy -matrise ved å bruke View () -funksjonen. Her har verdien av den opprinnelige matrisen og den kopierte matrisen blitt endret i skriptet.

#Import numpy modul
Importer numpy som NP
#Create en matrise
Array1 = NP.Array ([7, 4, 7, 2, 1, 9])
#Copy The Array ved hjelp av View () -funksjonen
Array2 = Array1.utsikt()
#Modifiser det første elementet i hovedarrayen
Array1 [0] = 11
print ("Utgangen etter å ha endret hovedarrayen")
#Display begge matriser
Print ("Innholdet i hovedarrayen", Array1)
Print ("Innholdet i den kopierte arrayen", Array2)
#Modifiser det 5. elementet i den kopierte matrisen
Array2 [4] = 99
skriv ut ("\ nutgangen etter å ha endret den kopierte matrisen")
#Display begge matriser igjen
Print ("Innholdet i hovedarrayen", Array1)
Print ("Innholdet i den kopierte arrayen", Array2)

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at endring i hovedgruppen endrer verdiene til den kopierte matrisen og endres i den kopierte matrisen endrer verdien av hovedgruppen.

Eksempel 4: Kopierer ved hjelp av loop

Lag en Python-fil med følgende skript for å kjenne måten å kopiere en matrise uten å bruke noen innebygd funksjon eller oppgavedriftsoperatør. Enhver sløyfe kan brukes til å kopiere verdiene til en matrise til en annen matrise. 'For' -sløyfen har blitt brukt i skriptet for å kopiere en matrise til en annen matrise.

#Import numpy modul
Importer numpy som NP
#Create en matrise
Array1 = NP.Array ([11, 22, 33, 44, 55, 66, 77, 88])
#Skap den andre matrisen med størrelsen på første matrise
Array2 = [Ingen]*Len (Array1)
#Copying alle elementer i en matrise til en annen
For I in Range (0, Len (Array1)):
Array2 [i] = Array1 [i];
#Modifiser det andre elementet i hovedgruppen
Array1 [1] = 25
#Modifiser det fjerde elementet i den kopierte matrisen
Array2 [3] = 45
skriv ut ("Utgangen etter å ha endret de første og andre matriser")
#Display begge matriser
Print ("Innholdet i den originale arrayen", Array1)
Print ("Innholdet i den kopierte arrayen", Array2)

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at endring i hovedmatrisen ikke endrer verdien av den kopierte matrisen, og endringen i den kopierte matrisen endrer ikke verdien på hovedgruppen.

Konklusjon

Måtene å kopiere matriser ved å bruke oppdragsoperatør, innebygde funksjoner og loop har blitt vist i denne opplæringen. Oppdragsoperatøren og visningen () -funksjonen Opprett en grunne kopi av den originale matrisen og kopien () -funksjonen og loopen Lag en dyp kopi av den originale matrisen.