مثال 22: استفاده از Nested List برای ذخیره ی داده از یک ماتریس
در این مثال با یک لیست تو در تو( nested list ) کار میکنیم. این مثال را در ترمینال نیز می توانید انجام دهید:
1- یک لیست مطابق تصویر زیر تعریف می کنیم:
m = [[1, 2, 3], [4, 5, 6]]
دقت کنید که 2 لیست داخل یک لیست بزرگتر تعریف شده اند (nested list).
2- حالا درایه(المان های مختلف ماتریس را درایه میگویند) موجود در سطر دوم(index 1) و ستون دوم(index 1) که 5 است را در خروجی با کد زیر نمایش می دهیم:
print(m[1][1])
3- تابع ()len طول لیست را باز میگرداند. با استفاده از این تابع و حلقه های تو در تو به المان های مختلف لیست های تو در تو دست پیدا میکنیم:
for i in range(len(m)):
for j in range(len(m[i])):
print(m[i][j])
در این کد از حلقه های for تو در تو استفاده کردیم تا دوبار عملیات تکرار را روی لیست انجام دهیم. حلقه ی بیرونی (i) روی تمام سطر های ماتریس m تکرار را انجام میدهد و حلقه ی داخلی (j) نیز روی تمام سطون ها تکرار می شود.
در خروجی خواهیم داشت:
1
2
3
4
5
6
4- حلقه ی بالا را به شکل دیگری نیز می توان نوشت:
for row in m:
for col in row:
print (col)