Ich habe es gegooglet und StackOverflow und YouTube gesucht. Ich kann einfach keine Python-Matrizen in meinem Kopf anklicken. Kann mir bitte jemand helfen? Ich versuche nur, eine einfache 5x5-Box zu erstellen, die Folgendes anzeigt:
%Vor%Ich habe
%Vor%Um anzuzeigen, aber ich konnte sie nicht sogar dazu bringen, Zeilen zu brechen, stattdessen würden sie alle als
erscheinen %Vor%Und wenn ich versuche, \ n zu ihnen hinzuzufügen oder "" usw. zu drucken, funktioniert es einfach nicht. \ n wird als 'A \ n' angezeigt und der Druck wird vor der Matrix angezeigt.
Bitte helfen Sie mir, auch wenn Sie mich an einen Ort bringen, der wirklich offensichtlich sein sollte und mich wie einen Idioten aussehen lässt, ich möchte das nur lernen.
Schleifen hilft:
%Vor% oder verwenden Sie verschachtelte str.join()
-Aufrufe:
Demo:
%Vor% Wenn Sie die transponierten Zeilen und Spalten anzeigen möchten, transponieren Sie die Matrix mit der Funktion zip()
; Wenn Sie jede Zeile als separates Argument an die Funktion übergeben, kombiniert zip()
diese Werte nach Wert als Tupel von Spalten. Mit der *args
-Syntax können Sie eine ganze Sequenz von Zeilen als separate Argumente anwenden:
Die Antwort auf Ihre Frage hängt davon ab, was Ihre Lernziele sind. Wenn Sie versuchen, Matrizen zu "klicken", damit Sie sie später verwenden können, würde ich vorschlagen, eine Numpy array
anstelle einer Liste von Listen zu betrachten. Auf diese Weise können Sie Zeilen und Spalten und Untergruppen einfach ausschneiden. Versuchen Sie einfach, eine Spalte aus einer Liste von Listen zu erhalten, und Sie werden frustriert sein.
Nehmen wir Ihre Liste von Listen zum Beispiel:
%Vor%Es ist leicht Unterelemente für jede Zeile zu erhalten:
%Vor%Oder eine ganze Zeile:
%Vor%Aber versuchen Sie es umzudrehen, um die gleichen Elemente im Spaltenformat zu erhalten, und es wird nicht funktionieren ...
%Vor%Sie müssten etwas wie Listenverständnis verwenden, um alle 1. Elemente zu erhalten ....
%Vor%Wenn Sie stattdessen ein Array verwenden, erhalten Sie das Slicing und die Indizierung, die Sie von MATLAB oder R (oder den meisten anderen Sprachen) erwarten:
%Vor%Greifen Sie Zeile 1 (wie bei Listen):
%Vor%Ergreife Spalte 1 (neu!):
%Vor%So, jetzt um Ihre gedruckte Matrix zu generieren:
%Vor%Ich habe eine einfache Lösung dafür gefunden, indem ich die Listen in Strings umgewandelt und String-Operationen ausgeführt habe, um den korrekten Ausdruck der Matrix zu erhalten.
Indem Sie eine Funktion erstellen, ersparen Sie sich das Schreiben der for
Schleife jedes Mal, wenn Sie eine Matrix ausdrucken wollen.
Beispiel einer 5x5 Matrix mit 0
wie jeder Eintrag:
Beispiel einer 2x3 Matrix mit 0
wie jeder Eintrag:
Wenn Sie es drucken möchten:
%Vor%Ich schlage vor, Sie ändern nur die Art, wie Sie Ihre Daten in Listen in Listen eingeben. In meiner Methode repräsentiert jede Liste innerhalb der größeren Liste eine Zeile in der Matrix, keine Spalten.