Introduktion til multidimensionelle arrays i Python
Ofte i dagligdagen har vi problemer, hvor vi har brug for at gemme nogle data i et rektangulært tabelformat. Disse tabeller kan også kaldes en matrix eller 2D-matrix. I Python kan multidimensionelle arrays opnås ved at have en liste på listen eller indlejrede lister. Listen kan bruges til at repræsentere data i nedenstående format i python:
Liste = (1, 2, 3)
Listen kan skrives med komma-adskilte værdier. Listen kan have data som heltal, float, streng osv. Og kan ændres så godt efter oprettelsen. Indekseringen i lister er temmelig ligetil med indekset startende fra 0 og strækker sig til hele længden af liste-1.
Når en liste har andre lister som elementer, danner den en multidimensionel liste eller array. For eksempel:
Liste = ((1, 2), (2, 5), (5, 1))
Her kan man få adgang til hver værdi på listen ved at skrive listens navn efterfulgt af firkantet parentes for at hente de ydre listeværdier som nedenfor:
Udskriv (Liste (1))
# (2, 5)
Hvis du vil gå længere inde i den indre liste, tilføj en yderligere firkantet beslag for at få adgang til dens elementer som nedenfor:
Udskriv (Liste (1) (0))
# 2
Tilsvarende, hvis vi har flere lister på en liste som:
Liste = ((1, 3, 5), (8, 5, 6), (7, 1, 6)) # kan også ses som
| 1, 3, 5 |
| 8, 5, 6 |
| 7, 1, 6 |
Alle elementer på listen kan fås ved hjælp af nedenstående indekser:
(0) (0), (0) (1), (0) (2) (1) (0), (1) (1), (1) (2) (2) (0), (2) (1), (2) (2)Oprettelse af en multidimensionel liste eller array
Lad os antage, at vi har to variabler som, antallet af rækker 'r' og antallet af kolonner 'c'. derfor at fremstille en matrix i størrelse m * n, kan fremstilles som:
Array = ( (0) * c ) * r ) # with each element value as 0
Denne type erklæring skaber ikke m * n-rum i hukommelsen, snarere oprettes kun et helt tal, som der henvises til af hvert element i den indre liste, mens de indre lister sættes som elementer i den ydre liste. Derfor i dette tilfælde, hvis vi ændrer et element til 5, vil hele matrixen have 5 som værdier i hvert element sted i den samme kolonne som nedenfor:
Array (0) (0) = 5
| 5, 0, 0 |
| 5, 0, 0 |
| 5, 0, 0 |
En anden måde at erklære en matrix er ved at bruge en generator med en liste over 'c' elementer gentagne 'r' gange. Erklæringen kan udføres som nedenfor:
c = 4
r = 3
Array = ( (0) * c for i in range(r) )
Herover er hvert element helt uafhængigt af de andre elementer på listen. Listen (0) * c er konstrueret r gange som en ny liste, og her sker der ingen kopiering af referencer.
Sådan indtastes værdier i multidimensionelle arrays?
Her antager vi en 2D-matrix med rækker og c-kolonner, som vi vil tage værdierne for elementerne fra brugeren.
# Bruger indtaster antallet af rækker på den første linje
r = int(input())
arr = () for i in range(r):
arr.append((int(j) for j in input().split()))
Itererende værdier for en multidimensionel matrix
For at itereere alle elementerne i den multidimensionelle matrix er vi nødt til at bruge indlejret til loop-koncept som nedenfor:
# først opretter vi en række c-kolonner og rækker
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 multidimensionelle arrays
Lad os se de numpy multimedieopstillinger i python:
Numpy er en foruddefineret pakke i python, der bruges til at udføre kraftige matematiske operationer og understøtte et N-dimensionelt array-objekt. Numpys array-klasse er kendt som "ndarray", som er nøglen til denne ramme. Objekter fra denne klasse omtales som en følelsesløs matrix. Forskellen mellem multidimensional liste og Numpy Arrays er, at numpy arrays er homogene, dvs. at det kan indeholde et eneste heltal, streng, float osv., Værdier, og dens størrelse er fast. Den multidimensionelle liste kan let konverteres til Numpy arrays som nedenfor:
import numpy as nmp
arr = nmp.array( ( (1, 0), (6, 4) ) )
print(arr)
Her afgives den givne multidimensionelle liste til Numpy array arr.
Oprettelse af en ujævn 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
Produktion:
((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))Adgang til numpy matrixelementer, rækker og kolonner
Hvert element i Numpy-matrixen kan fås på samme måde som i multidimensionel liste, dvs. array-navn efterfulgt af to firkantede seler, som fortæller række- og kolonneindekset at vælge et specifikt 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
Produktion:
2
(1 6 7) (5 9 2) (3 8 4) (1 5 3) (7 2 4) (7 2 4)Nogle egenskaber ved Numpy Array
Nogle grundlæggende egenskaber ved Numpy arrays bruges i det følgende program:
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())
Produktion:
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 af X = ((0 3 6) (1 4 7) (2 5 8))
Konklusion
Multidimensionelle arrays i Python giver mulighed for at lagre forskellige typer data i en enkelt matrix (dvs. i tilfælde af multidimensionel liste) med hvert element indre array, der er i stand til at gemme uafhængige data fra resten af arrayet med sin egen længde, også kendt som taggete array, som ikke kan opnås på Java, C og andre sprog.
Anbefalede artikler
Dette er en guide til multidimensionelle arrays i Python. Her diskuterer vi introduktionen til multidimensionelle arrays i Python, oprette en multidimensionel liste eller array osv. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–
- C # Jagged Arrays
- 3D-arrays i Java
- Hvad er TensorFlow?
- Hvad er NumPy?
- For Loop i PHP
- 3D-arrays i C ++
- Arrays i PHP
- Hvordan Arrays og lister fungerer i Python?
- Hvordan fungerer array i Unix med syntaks?