11-лекция Python тіліндегі екі өлшемді тізім (матрица)
Массив немесе тізім бір өлшемді (сызықтық), екі өлшемді (матрица), жалпы алғанда n өлшемді болады. Екі өлшемді тізімді қарастыру үшін, алдымен кіріктірілген цикл ұғымын анықтайық.
Циклді бірінің ішіне бірін кіріктіруге болады.
Мысалы:
n= [1, 2, 3, 4] # сыртқы цикл
m = [5, 6, 7, 8] # кіріктірілген (ішкі) цикл
for i in n:
for j in m:
print('i=', i, 'j=', j)
Бағдарлама нәтижесі:
i= 1 j= 5
i= 1 j= 6
i= 1 j= 7
i= 1 j= 8
i= 2 j= 5
i= 2 j= 6
i= 2 j= 7
i= 2 j= 8
i= 3 j= 5
i= 3 j= 6
i= 3 j= 7
i= 3 j= 8
i= 4 j= 5
i= 4 j= 6
i= 4 j= 7
i= 4 j= 8
Мысал33. [1,10] аралығындағы барлық Пифагор сандарын шығарыңдар:
for a in range(1,11):
for b in range(1,11):
for c in range(1,11):
if a*a+b*b==c*c:
print(a,b,c)
Нәтиже:
3 4 5
4 3 5
6 8 10
8 6 10
Екі өлшемді тізім ұғымы
Бағдарламада көбінесе тіктөртбұрышты кесте түріндегі деректермен жұмыс жасалады. Бағдарламалауда мұндай кестелер екі өлшемді массив немесе матрица деп аталады. Матрица деп тіктөртбұрышты кесте түріндегі элементтер тізімі аталады. Матрицамен жұмыс жасау үшін Python тілінде екі өлшемді тізім қолданылады. Python тілінде кестені әр элементі тізім болып табылатын тізім түрінде бейнелеуге болады.
Мысалы:
-
12
|
7
|
8
|
21
|
4
|
55
|
7
|
22
|
12
|
54
|
45
|
31
|
А = [[12, 7, 8], [21, 4, 55], [7, 22, 12], [54, 45, 31]]
Бұл әрбіреуі үш элементтен тұратын тізім болып табылатын 4 элемент тізімі.
Бұл тізімнің әр элементі квадрат жақшаға алынған екі индекспен көрсетіледі. Индекс 0- ден басталады.
Мысалы, 55 саны былайша көрсетіледі: А[1][2].
Яғни, 55 саны 1-жолдың 2- бағанында орналасқан.
Екі өлшемді қарапайым тізім құрайық:
a = [[1,2,3],[4,5,6]]
print(a)
print(a[0])
print(a[1])
Нәтиже:
[[1, 2, 3], [4, 5, 6]]
[1, 2, 3]
[4, 5, 6]
a[0] бірінші, a[1] екінші жол
len(a) жол саны, len(a[0]) бірінші жолдағы элемент саны
Екі өлшемді тізім жасау
Тізімді сандармен толтыру үшін append() әдісі қолданылады.
Екі сан берілсін: n жол саны және m баған саны.
Бос тізім жасап, сонан соң оған n рет тізім- жол болып табылатын жаңа
элемент қосу керек.
1. n×m өлшемді тізімді нақты бір санмен толтыру
Төмендегі мысалда тізім 0 санымен толтырылады.
n=3
m=4
A = []
for i in range(n):
A.append([0] * m)
print(A)
Нәтиже:
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
0 сандарымен толтырылған А[3,4] екі өлшемді тізім бір жолға шығады.
Егер print(A) орнына келесі командалар жазылса, онда нәтиже матрица түрінде шығады.
for i in range(n):
for j in range(m):
print(A[i][j], end = ' ')
print()
Нәтиже:
0 0 0 0
0 0 0 0
0 0 0 0
2. A[3,4] екі өлшемді тізімді кез келген санмен пернетақтаны қолданып толтыру және экранға шығару
n=3
m=4
A=[]
for i in range(n):
B=[]
for j in range(m):
B.append(int(input()))
A.append(B)
for i in range(n):
for j in range(m):
print(A[i][j], end = ' ')
print()
Достарыңызбен бөлісу: |