Introduksjon til flerdimensjonale arrays i Python

Ofte i dagliglivet har vi problemer der vi trenger å lagre noen data i et rektangulært bordformat. Disse tabellene kan også kalles en matrise eller 2D-matrise. I Python kan multidimensjonale matriser oppnås ved å ha en liste inne i listen eller nestede lister. Listen kan brukes til å representere data i formatet nedenfor i python:

Liste = (1, 2, 3)

Listen kan skrives med komma-separerte verdier. Listen kan ha data som heltall, flyte, streng osv. Og kan endres i tillegg etter oppretting. Indekseringen i lister er ganske rett frem med indeksen fra 0 og strekker seg til hele lengden på liste-1.

Når en liste har andre lister som elementer, danner den en flerdimensjonal liste eller matrise. For eksempel:

Liste = ((1, 2), (2, 5), (5, 1))

Her kan du få tilgang til hver verdi på listen ved å skrive listenavnet etterfulgt av firkantet brakett for å hente de ytre listeverdiene som nedenfor:

Skriv ut (liste (1))

# (2, 5)

Hvis du vil gå lenger inn i den indre listen, legg til en firkantet brakett til for å få tilgang til elementene som nedenfor:

Skriv ut (Liste (1) (0))

Nr. 2

Tilsvarende, hvis vi har flere lister på en liste som:

Liste = ((1, 3, 5), (8, 5, 6), (7, 1, 6)) # kan også sees som

| 1, 3, 5 |

| 8, 5, 6 |

| 7, 1, 6 |

Nedenfor vises indekser til alle elementene i listen:

(0) (0), (0) (1), (0) (2) (1) (0), (1) (1), (1) (2) (2) (0), (2) (1), (2) (2)

Opprette en flerdimensjonal liste eller matrise

La oss anta at vi har to variabler som, antall rader 'r' og antall kolonner 'c'. derav å lage en matrise av størrelse m * n, kan lages som:

Array = ( (0) * c ) * r ) # with each element value as 0

Denne typen erklæring vil ikke opprette m * n mellomrom i minnet, snarere bare ett heltall vil bli opprettet som refereres til av hvert element i den indre listen mens de indre listene blir satt som elementer i den ytre listen. Derfor, hvis vi endrer et element til 5, vil hele matrisen ha 5 som verdier i hvert element sted i samme kolonne som nedenfor:

Array (0) (0) = 5

| 5, 0, 0 |

| 5, 0, 0 |

| 5, 0, 0 |

En annen måte å erklære en matrise er ved å bruke en generator med en liste over 'c' elementer gjentatte 'r' ganger. Erklæringen kan gjøres som nedenfor:

c = 4
r = 3
Array = ( (0) * c for i in range(r) )

Her over er hvert element helt uavhengig av de andre elementene på listen. Listen (0) * c er konstruert r ganger som en ny liste, og her skjer ingen kopiering av referanser.

Hvordan legge inn verdier i flerdimensjonale arrays?

Her antar vi en 2D-matrise med rader og c-kolonner som vi vil ta verdiene til elementene fra brukeren.

# Bruker oppgir antall rader på den første linjen

r = int(input())
arr = () for i in range(r):
arr.append((int(j) for j in input().split()))

Iterating Values ​​of a Multidimensional Array

For å itere gjennom alle elementene i den flerdimensjonale matrisen må vi bruke nestet for sløyfekonsept som nedenfor:

# først vil vi lage en rekke c-kolonner og rader

c = 4
r = 3
arr = ((0) * c for i in range(r)) # loop will run for the length of the outer list
for i in range(r):
# loop will run for the length of the inner lists
for j in range(c):
if i < j:
arr(i)(j) = 8
elif i > j:
arr(i)(j) = 4
else:
arr(i)(j) = 7
for r in arr:
print( ' '.join((str(x) for x in r) ) )

Numpy flerdimensjonale matriser

La oss se numpy multimedia-matriser i python:

Numpy er en forhåndsdefinert pakke i python som brukes til å utføre kraftige matematiske operasjoner og støtte et N-dimensjonalt array-objekt. Numpys utvalgsklasse er kjent som "ndarray" som er nøkkelen til dette rammeverket. Gjenstander fra denne klassen blir referert til som en numpy matrise. Forskjellen mellom flerdimensjonal liste og Numpy Arrays er at numpy-matriser er homogene, dvs. at den kan inneholde et eneste heltall-, streng, flyte-, etc., verdier og størrelsen er fast. Den flerdimensjonale listen kan enkelt konverteres til Numpy-matriser som nedenfor:

import numpy as nmp
arr = nmp.array( ( (1, 0), (6, 4) ) )
print(arr)

Her gis den gitte flerdimensjonale listen til Numpy array arr.

Opprette en numpy array

import numpy as nmp
X = nmp.array( ( ( 1, 6, 7), ( 5, 9, 2) ) )
print(X) #Array of integers
X = nmp.array( ( ( 1, 6.2, 7), ( 5, 9, 2) ) )
print(X) #Array of floats
X = nmp.array( ( ( 1, 6, 7), ( 5, 9, 2) ), dtype = complex )
print(X) #Array of complex numbers

Produksjon:

((1 6 7) (5 9 2)) ((1. 6.2 7.) (5. 9. 2.)) ((1. + 0.j 6. + 0.j 7. + 0.j) (5. + 0.j 9. + 0.j 2. + 0.j))

Få tilgang til numpy matrixelementer, rader og kolonner

Hvert element i Numpy-matrisen kan nås på samme måte som i flerdimensjonal liste, dvs. array-navn etterfulgt av to firkantede seler som vil fortelle rad- og kolonneindeksen å velge et bestemt element.

Eksempel:

import numpy as nmp
X = nmp.array( ( ( 1, 6, 7),
( 5, 9, 2),
( 3, 8, 4) ) )
print(X(1)(2)) # element at the given index ie 2
print(X(0)) # first row
print(X(1)) # second row
print(X(-1)) # last row
print(X(:, 0)) # first column
print(X(:, 2)) # third column
print(X(:, -1)) # last column

Produksjon:

2

(1 6 7) (5 9 2) (3 8 4) (1 5 3) (7 2 4) (7 2 4)

Noen egenskaper ved Numpy Array

Noen grunnleggende egenskaper for Numpy-matriser brukes i programmet nedenfor:

import numpy as nmp
zero_array = nmp.zeros( (3, 2) )
print('zero_array = ', zero_array)
one_array = nmp.ones( (3, 2) )
print('one_array = ', one_array)
X = nmp.arange(9).reshape(3, 3)
print('X= ', X)
print('Transpose of X= ', X.transpose())

Produksjon:
zero_array = ((0. 0.) (0. 0.) (0. 0.)) one_array = ((1. 1.) (1. 1.) (1. 1.)) X = ((0 1 2) (3 4 5) (6 7 8)) Transponering av X = ((0 3 6) (1 4 7) (2 5 8))

Konklusjon

Multidimensjonale matriser i Python gir muligheten til å lagre forskjellige typer data i en enkelt gruppe (dvs. i tilfelle multidimensjonal liste) med hvert element indre array som er i stand til å lagre uavhengige data fra resten av matrisen med sin egen lengde, også kjent som taggete matrise, som ikke kan oppnås på Java, C og andre språk.

Anbefalte artikler

Dette er en guide til flerdimensjonale matriser i Python. Her diskuterer vi introduksjonen til flerdimensjonale matriser i Python, lage en flerdimensjonal liste eller matrise, etc. Du kan også gå gjennom våre andre foreslåtte artikler for å lære mer–

  1. C # Jagged Arrays
  2. 3D-matriser i Java
  3. Hva er TensorFlow?
  4. Hva er NumPy?
  5. For Loop i PHP
  6. 3D Arrays i C ++
  7. Arrays i PHP
  8. Hvordan arrays og lister fungerer i Python?
  9. Hvordan fungerer Array i Unix med syntaks?