Python/Kenjiro995/Vícerozměrné pole

Z Wikiverzity

Dvourozměrné pole[editovat]

pole = [[9, 21, 4, 14], [1, 0, 5, 5, 18, 6, 3], [3, 3, 2, 1, 1, 2, 3], ["a", "b", "c"]]
print(pole) # vypíše celé pole
print(pole[0]) # vypíše přvní řádek
print(pole[0][3]) # vypíše hodnotu z prvního řádku [0] a čtrtého sloupce [3]
print(pole[3]) # vypíše čtrvtý řádek
print(pole[3][0]) # vypíše hodnotu z čtvrtého řádku [3] a prvního slopuce [0] 
print(pole[3][1]) # vypíše hodnotu z čtrvtého řádku [3] a druhého sloupce [1]
pole[3][2] = "Python" # změní hodnotu 
print(pole[3]) # vypíše se změnou hodnoty

Výstup:

[[9, 21, 4, 14], [1, 0, 5, 5, 18, 6, 3], [3, 3, 2, 1, 1, 2, 3], ['a', 'b', 'c']]
[9, 21, 4, 14]
14
['a', 'b', 'c']
a
b
['a', 'b', 'Python']


kinosal = [[0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0],
           [0, 0, 1, 0, 0],
           [0, 1, 1, 1, 0],
           [1, 1, 1, 1, 1]]

print(kinosal)

Výstup:

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 1, 1, 0], [1, 1, 1, 1, 1]]


kinosal = [[0, 0, 0, 0, 0],
           [0, 0, 0, 0, 0],
           [0, 0, 1, 0, 0],
           [0, 1, 1, 1, 0],
           [1, 1, 1, 1, 1]]

for a in kinosal:
  print(a)

Výstup:

[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 1, 0, 0]
[0, 1, 1, 1, 0]
[1, 1, 1, 1, 1]


pole = [[9, 21, 4, 14], [1, 0, 5, 5, 18, 6, 3], [3, 3, 2, 1, 1, 2, 3], ["a", "b", "c"]]

for a in pole:
  print(a)

Výstup:

[9, 21, 4, 14]
[1, 0, 5, 5, 18, 6, 3]
[3, 3, 2, 1, 1, 2, 3]
['a', 'b', 'c']

Trojrozměrné pole[editovat]

pole = [[[5,6,7], [5,6,7]], [8,9,7,["ahoj", "Python"]], ["a", "b", "c"]]

for a in pole:
  print(a)

Výstup:

[[5, 6, 7], [5, 6, 7]]
[8, 9, 7, ['ahoj', 'Python']]
['a', 'b', 'c']
kinosaly = []

for i in range(3):
    kinosal = []
    for j in range(5):
        temp = []
        for k in range(5):
            temp.append(0)
        kinosal.append(temp)
    kinosaly.append(kinosal)

for a in kinosaly:
  print(a)

Výstup:

[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

Vícerozměrné prázdné pole[editovat]

postup:

  • Vytvoří se více prázdných polí
  • Do jednoho pole se vloží ostatní pole (vznikne další dimenze)
pole_2d = []
pole1 = []
pole2 = [21, 14, 8]
a = 7
b = 12

# vložení a, b do prádného pole1
pole1.append(a)
pole1.append(b)

# vložení pole do pole_2d
pole_2d.append(pole1)
pole_2d.append(pole2)

# výpis pole_2d
print(pole_2d)

Výstup:

[[7, 12], [21, 14, 8]]

Generátor vícerozměrného pole[editovat]

distance = [[[0]*5]*2] *3
print(distance)

Výstup:

[[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]]


distance = [[[0]*2]*2] *2
print(distance)

Výstup:

[[[0, 0], [0, 0]], [[0, 0], [0, 0]]]


x = 2


y = 2
z = 2
a_3d_list = []



for i in range(x):
    a_3d_list.append([])


    for j in range(y):
        a_3d_list[i].append([])


        for k in range(z):
            a_3d_list[i][j].append(0)



print(a_3d_list)

Výstup:

[[[0, 0], [0, 0]], [[0, 0], [0, 0]]]


n = 2
distance = [[[0 for k in range(n)] for j in range(n)] for i in range(n)]
print(distance)

Výstup:

[[[0, 0], [0, 0]], [[0, 0], [0, 0]]]


n = 3
distance=[[[0]*n]*n]*n
print(distance)

distance[0][0][0] = 1
print(distance)

distance[2][2][2] = 9
print(distance)

Výstup:

[[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]
[[[1, 0, 0], [1, 0, 0], [1, 0, 0]], [[1, 0, 0], [1, 0, 0], [1, 0, 0]], [[1, 0, 0], [1, 0, 0], [1, 0, 0]]]
[[[1, 0, 9], [1, 0, 9], [1, 0, 9]], [[1, 0, 9], [1, 0, 9], [1, 0, 9]], [[1, 0, 9], [1, 0, 9], [1, 0, 9]]]