Bu örnekte, (iç içe geçmiş bir liste kullanılarak oluşturulan) bir matrisin sırasını değiştirmeyi öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki Python programlama konuları hakkında bilgi sahibi olmalısınız:
- Döngü için Python
- Python Listesi
Python'da, bir matrisi iç içe bir liste olarak uygulayabiliriz (bir liste içinde liste). Her bir öğeyi matrisin bir satırı olarak ele alabiliriz.
Örneğin X = ((1, 2), (4, 5), (3, 6))
, 3x2 matrisi temsil eder. İlk sıra olarak seçilebilir X(0)
. Ve ilk satırın ilk sütunundaki eleman olarak seçilebilir X(0)(0)
.
Bir matrisin transpoze edilmesi, satırların ve sütunların değişmesidir. X 'olarak belirtilir. X'te i'inci satır ve j'inci sütundaki eleman X'de j'inci satıra ve i'inci sütuna yerleştirilecektir. Yani X 3x2 bir matris ise, X '2x3 bir matris olacaktır.
İşte bunu Python'da gerçekleştirmenin birkaç yolu.
İç İçe Döngü kullanarak Matris Transpoze Etme
# Program to transpose a matrix using a nested loop X = ((12,7), (4 ,5), (3 ,8)) result = ((0,0,0), (0,0,0)) # iterate through rows for i in range(len(X)): # iterate through columns for j in range(len(X(0))): result(j)(i) = X(i)(j) for r in result: print(r)
Çıktı
(12, 4, 3) (7, 5, 8)
Bu programda, for
her satır ve her sütunda yineleme yapmak için iç içe döngüler kullandık . Her noktada X (i) (j) elemanını (j) (i) sonucuna yerleştiriyoruz.
Yuvalanmış Liste Anlamayı Kullanarak Matris Transpoze Etme
''' Program to transpose a matrix using list comprehension''' X = ((12,7), (4 ,5), (3 ,8)) result = ((X(j)(i) for j in range(len(X))) for i in range(len(X(0)))) for r in result: print(r)
Bu programın çıktısı yukarıdaki ile aynıdır. Matristeki her bir öğeyi yinelemek için iç içe geçmiş liste anlama özelliğini kullandık.