مثال 22: استفاده از Nested List برای ذخیره ی داده از یک ماتریس

در این مثال با یک لیست تو در تو( nested list ) کار میکنیم. این مثال را در ترمینال نیز می توانید انجام دهید:

1- یک لیست مطابق تصویر زیر تعریف می کنیم:

4d70e3ae-06a0-472c-a18b-812c71dbc2a0

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)