Hozirgacha biz oddiy ro'yxatlar bilan ishlayotgan edik — bu bir qatorli, chiziqli ma'lumotlar to'plami. Lekin ba'zida ma'lumotlar ikki o'lchamli bo'ladi: jadvallar, shaxmat taxtasi, sinf jadvali yoki o'tirishlar rejasi. Bunday ma'lumotlarni saqlash uchun 2D ro'yxat (matritsa) ishlatiladi.
2D ro'yxat — bu ro'yxat ichida ro'yxatlar. Ya'ni, har bir element o'zi ham bir ro'yxat bo'ladi. Buni qatorlar va ustunlar bilan ifodalash mumkin.
Misol: O'tirishlar zali — 3 qator, har qatorda 3 o'rindiq:
# 3x3 o'tirishlar rejasi (True = band, False = bo'sh)
zal = [
[True, False, True ], # 1-qator
[False, False, True ], # 2-qator
[True, True, False] # 3-qator
]
print(zal)
# [[True, False, True], [False, False, True], [True, True, False]]Ko'rib turganingizdek, zal ro'yxati 3 ta kichik ro'yxatdan iborat. Har bir kichik ro'yxat — bitta qator.
Boshqa misol: Tic-tac-toe (X va O) o'yini taxtasi:
# 3x3 Tic-tac-toe taxtasi
taxta = [
["X", "O", "X"],
["O", "X", "O"],
["X", " ", "O"]
]
# Taxtani chiroyli chiqarish
for qator in taxta:
print(qator)
# ['X', 'O', 'X']
# ['O', 'X', 'O']
# ['X', ' ', 'O']Raqamli matritsa yaratish:
# 3x3 raqamli matritsa
matritsa = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Matritsani chiqarish
print("Matritsa:")
for qator in matritsa:
print(qator)
# Chiqish:
# Matritsa:
# [1, 2, 3]
# [4, 5, 6]
# [7, 8, 9]2D ro'yxat xususiyatlari:
len(matritsa) — qatorlar soni (nechta ichki ro'yxat bor)len(matritsa[0]) — ustunlar soni (birinchi qatordagi elementlar soni)matritsa = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print("Qatorlar soni:", len(matritsa)) # 3
print("Ustunlar soni:", len(matritsa[0])) # 3
print("Jami elementlar:", len(matritsa) * len(matritsa[0])) # 9Muhim qoidalar:
len(matritsa) qatorlar sonini, len(matritsa[0]) ustunlar sonini beradi2D ro'yxat yarating
Quyidagi amallarni bajaring:
for tsikli yordamida qator-qator chiqaringBu mashq orqali siz:
len() funksiyasini 2D ro'yxatga qo'llashni bilib olasiz