Oddiy ro'yxatni bitta for tsikli bilan ko'rib chiqamiz. 2D ro'yxatda esa ikkita for tsikli kerak: biri qatorlar uchun, ikkinchisi har bir qatordagi elementlar uchun.
Bu ichki (nested) tsikllar deyiladi — bitta tsikl boshqasining ichida ishlaydi.
Asosiy shablon:
matritsa = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Tashqi tsikl — qatorlar bo'ylab
for qator in matritsa:
# Ichki tsikl — har bir qatordagi elementlar bo'ylab
for element in qator:
print(element, end=" ")
print() # Har bir qatordan keyin yangi qator
# Chiqish:
# 1 2 3
# 4 5 6
# 7 8 9end=" " belgisi print() funksiyasiga yangi qatorga o'tmaslik, balki bo'sh joy qo'yib davom etishni buyuradi. Qator tugagach, print() yangi qatorga o'tkazadi.
Indeks bilan aylanish (range yordamida):
Ba'zida elementning qator va ustun raqamini bilish kerak bo'ladi. Buning uchun range ishlatiladi:
matritsa = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Indekslar yordamida aylanish
for i in range(len(matritsa)): # i — qator indeksi
for j in range(len(matritsa[i])): # j — ustun indeksi
print(f"[{i}][{j}] = {matritsa[i][j]}")
# Chiqish:
# [0][0] = 1
# [0][1] = 2
# [0][2] = 3
# [1][0] = 4
# ...Amaliy misol — barcha elementlar yig'indisi:
matritsa = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
yigindi = 0
for qator in matritsa:
for element in qator:
yigindi += element # Har bir elementni yig'indiga qo'shamiz
print("Yig'indi:", yigindi) # Yig'indi: 45Amaliy misol — maksimal element topish:
matritsa = [
[3, 7, 2],
[8, 1, 9],
[4, 6, 5]
]
maksimal = matritsa[0][0] # Birinchi elementdan boshlaymiz
for qator in matritsa:
for element in qator:
if element > maksimal:
maksimal = element
print("Eng katta element:", maksimal) # Eng katta element: 9Muhim qoidalar:
for qator in matritsa: — har safar bitta ichki ro'yxatni oladifor element in qator: — o'sha ichki ro'yxatning har bir elementirange(len(...)) ishlatiladiMatritsa elementlari yig'indisi
Quyidagi amallarni bajaring:
for qator in matrix:, for element in qator:) yordamida aylanib chiqing"Yigindi: ..." formatida chiqaringBu mashq orqali siz: