Увод у вишедимензионалне низове на Питхон-у

Често у свакодневном животу имамо проблема где морамо да похранимо неке податке у правоугаони формат таблице. Ове табеле се такође могу назвати матрицом или 2Д матријом. У Питхон-у, вишедимензионални низови могу се постићи тако што ћете имати листу унутар листе или угнијежђене листе. Листа се може користити за представљање података у доњем формату у питхон-у:

Листа = (1, 2, 3)

Листа се може писати са вредностима одвојеним зарезима. Листа може имати податке као што су цели број, плутач, низ итд., А могу се мењати и након креирања. Индексирање на листама је прилично равно напријед, с индексом који почиње од 0 и протеже се цијелом дужином листе-1.

Када листа садржи друге листе као елементе, она формира вишедимензионалну листу или низ. На пример:

Листа = ((1, 2), (2, 5), (5, 1))

Овде се свакој вредности листе може приступити тако што се напише назив листе, а затим у квадратни заград да бисте преузели вредности спољне листе, као што је ниже:

Штампај (Листа (1))

# (2, 5)

Ако желите да идете даље унутар унутрашње листе, додајте још један квадратни заград за приступ његовим елементима као што следи:

Штампај (Листа (1) (0))

# 2

Слично томе, ако имамо више листа унутар листе попут:

Листа = ((1, 3, 5), (8, 5, 6), (7, 1, 6)) # може се такође видети као

| 1, 3, 5 |

| 8, 5, 6 |

| 7, 1, 6 |

Свим елементима листе може се приступити са нижим индексима:

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

Стварање вишедимензионалне листе или низа

Претпоставимо да имамо две променљиве као, број редова 'р' и број ступаца 'ц'. према томе, направити матрицу величине м * н, може се направити као:

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

Ова врста декларације неће створити м * н размаке у меморији, већ ће се створити само један цели број на који се позива сваки елемент унутрашње листе, док се унутрашњи спискови постављају као елементи у спољној листи. Стога у таквом случају ако било који елемент промијенимо у 5 тада ће цијели низ имати 5 као вриједности на сваком мјесту елемента у истој колони као у наставку:

Низ (0) (0) = 5

| 5, 0, 0 |

| 5, 0, 0 |

| 5, 0, 0 |

Други начин да се декларише низ је употреба генератора са списком 'ц' елемената поновљених 'р' пута. Изјава се може учинити на следећи начин:

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

Овде је сваки елемент потпуно неовисан о осталим елементима листе. Листа (0) * ц се р-пута саставља као нова листа и овде се не дешава копирање референци.

Како уносити вредности у вишедимензионалне низове?

Овде претпостављамо 2Д низ са р редовима и ц ступовима за које ћемо узимати вредности елемената од корисника.

# Корисник ће у први ред унијети број редова

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

Уписивање вриједности вишедимензионалног низа

Да бисмо могли поновити кроз све елементе вишедимензионалног низа, морамо користити угнијежђени концепт петље као што је доље:

# у почетку ћемо створити низ ц ступаца и р редака

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) ) )

Нумпи Мултидимензионални низови

Да видимо нумитиране мултимедијске низове у питхону:

Нумпи је унапред дефинисан пакет у питхону који се користи за извођење снажних математичких операција и за подршку Н-димензионалном низу објеката. Нумпи-ова класа низа позната је као "ндарраи" што је кључно за овај оквир. Објекти из ове класе називају се нумерираним низом. Разлика између вишедимензионалне листе и Нумпи Арраис-а је у томе што су нумерички низови хомогени, тј. Могу садржавати само вредности целог броја, низа, плутања итд., А њихова величина је фиксна. Вишедимензионална листа може се лако претворити у Нумпи низове као што следи:

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

Овде је дата вишедимензионална листа бачена на Нумпи арр.

Прављење Нумпи Арраи-а

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

Излаз:

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

Приступ елементима матрице, редака и ступаца са матрицом матрице

Сваком елементу Нумпи низа може се приступити на исти начин као и Мултидимензионалном списку, тј. Називу матрице, праћеним двема квадратним заградама, који ће рећи индексу реда и ступаца да одаберу одређени елемент.

Пример:

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

Излаз:

2

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

Неке особине Нумпи Арраи-а

Неке основне особине Нумпи низова користе се у доњем програму:

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())

Излаз:
зеро_арраи = ((0. 0.) (0. 0.) (0. 0.)) оне_арраи = ((1. 1.) (1. 1.) (1. 1.)) Кс = ((0 1 2) (3 4 5) (6 7 8)) Транспонирање Кс = ((0 3 6) (1 4 7) (2 5 8))

Закључак

Вишедимензионални низови у Питхон-у пружају могућност складиштења различитих врста података у један низ (тј. У случају вишедимензионалне листе) са сваким унутрашњим низом елемената који је у стању да чува независне податке са остатка низа, а његова дужина такође позната и као назубљени низ, што се не може постићи на Јава, Ц и другим језицима.

Препоручени чланци

Ово је водич за вишедимензионалне низове на Питхон-у. Овде смо расправљали о Уводу у вишедимензионалне низове на Питхон-у, креирању вишедимензионалне листе или низа итд. Такође можете проћи и друге наше предложене чланке да бисте сазнали више -

  1. Ц # назубљени низови
  2. 3Д низови на Јави
  3. Шта је ТенсорФлов?
  4. Шта је НумПи?
  5. За петљу у ПХП-у
  6. 3Д низови у Ц ++
  7. Низи у ПХП-у
  8. Како низови и пописи раде у Питхону?
  9. Како Арраи ради у Унику са синтаксом?

Категорија: