Πρόγραμμα Python για τη μεταφορά ενός πίνακα

Σε αυτό το παράδειγμα, θα μάθετε να μεταφέρετε μια μήτρα (η οποία δημιουργείται χρησιμοποιώντας μια ένθετη λίστα).

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες θεματολογίες προγραμματισμού Python:

  • Python για βρόχο
  • Λίστα Python

Στο Python, μπορούμε να εφαρμόσουμε έναν πίνακα ως ένθετη λίστα (λίστα μέσα σε μια λίστα). Μπορούμε να αντιμετωπίσουμε κάθε στοιχείο ως μια σειρά του πίνακα.

Για παράδειγμα, X = ((1, 2), (4, 5), (3, 6))θα αντιπροσωπεύει μια μήτρα 3x2. Η πρώτη σειρά μπορεί να επιλεγεί ως X(0). Και, το στοιχείο στην πρώτη στήλη της πρώτης σειράς μπορεί να επιλεγεί ως X(0)(0).

Η μεταφορά ενός πίνακα είναι η ανταλλαγή σειρών και στηλών. Συμβολίζεται ως Χ '. Το στοιχείο στη στήλη ith και στη στήλη jth στο X θα τοποθετηθεί στη σειρά jth και στη στήλη στο X '. Επομένως, εάν το X είναι μήτρα 3x2, το X 'θα είναι μήτρα 2x3.

Εδώ είναι μερικοί τρόποι για να το επιτύχετε στο Python.

Matrix Transpose χρησιμοποιώντας Nested Loop

 # 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) 

Παραγωγή

 (12, 4, 3) (7, 5, 8) 

Σε αυτό το πρόγραμμα, χρησιμοποιήσαμε ένθετους forβρόχους για να επαναλάβουμε κάθε σειρά και κάθε στήλη. Σε κάθε σημείο τοποθετούμε το στοιχείο X (i) (j) στο αποτέλεσμα (j) (i).

Μεταφορά Matrix με χρήση της έννοιας λίστας ένθετων

 ''' 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)

Η έξοδος αυτού του προγράμματος είναι η ίδια όπως παραπάνω. Έχουμε χρησιμοποιήσει την κατανόηση της ένθετης λίστας για να επαναλάβουμε κάθε στοιχείο του πίνακα.

ενδιαφέροντα άρθρα...