Ich weiß, dass ein einfacher Weg, um ein NxN-Array voller Nullen in Python zu erstellen, ist mit:
%Vor%Nehmen wir an, ich möchte das Array erstellen, indem Sie es mit Zufallszahlen füllen:
%Vor%Dies funktioniert nicht, weil jede Zufallszahl, die erstellt wird, N-mal repliziert wird, so dass mein Array keine eindeutigen NxN-Zufallszahlen hat.
Gibt es eine Möglichkeit, dies in einer einzigen Zeile zu tun, ohne for-Schleifen zu verwenden?
Sie könnten ein geschachteltes Listenverständnis verwenden:
%Vor% Oder verwenden Sie numpy
(nicht-stdlib, aber sehr beliebt):
(PS) Es ist eine gute Idee, list
zu sagen, wenn du list
meinst und array
für numpy ndarray
s reservierst. Es gibt tatsächlich ein eingebautes array
-Modul mit einem eigenen array
type, so dass die Dinge noch mehr verwechselt werden, aber es wird relativ selten verwendet.)
Sie können Listenübersichten verwenden.
%Vor%Bei großen mehrdimensionalen Arrays empfehle ich allerdings, numpy zu verwenden.
Es kann ohne Schleife gemacht werden. Probieren Sie diese einfache Codezeile aus, um eine 2 mal 3 Matrix von Zufallszahlen mit Mittelwert 0 und Standardabweichung 1 zu erzeugen.
Die Syntax lautet:
numpy.random.normal (Mittelwert, Standardabweichung, (Zeilen, Spalten))
Beispiel:
numpy.random.normal (0,1, (2,3))