Seite 1 von 1

Pythonisch schreiben

Verfasst: Donnerstag 28. Juni 2018, 04:38
von Ego
Hallo Leute,

als blutiger Anfänger beim Erwerb dieser eleganten Programmiersprache habe ich ein paar Probleme.
Das schlimmste ist, die Furcht unpythonisch schreiben zu müssen, weil mein Wissen nicht ausreicht.

Konkreter Fall:
Ich habe einen Haufen von integer Zufallszahlen mit numpy erzeugt 0...42

Code: Alles auswählen

import numpy as np

P = np.random.random_integers(0,42,size=43)
print(P)
Dann habe ich die Zahlenreihe ausgewertet.

Code: Alles auswählen

bc  = np.bincount(P)
Zähle ich alle Einzelzahlen durch, bekomme ich eine zufällig variable Länge von bc.
Die möchte ich aber möglichst pythonisch in ein np.Array mit 43 Einheiten umsetzen .

Natürlich könnte ich eine Schleife vom Zaun brechen und das Stück für Stück umpflanzen, aber ist das Python?


Gruss vom Ego

Re: Pythonisch schreiben

Verfasst: Donnerstag 28. Juni 2018, 06:21
von noisefloor
Hallo,

ich verstehe ehrlich gesagt die Frage nicht... P und bc sind numpy-Arrays. Die Länge von bc ist logischerweise auch 43.

Welche Einzelzahlen willst du durch zählen? Und was bekommst du "nur" unpythonisch hin, was dir NumPy nicht schon direkt pythonisch liefert?

Gruß, noisefloor

Re: Pythonisch schreiben

Verfasst: Donnerstag 28. Juni 2018, 06:48
von Sirius3
@noisefloor: wenn zufällig keine 42 in P enthalten ist, dann ist die Länge von bc auch kürzer als 43.

Dafür gibt es aber in der Dokumentation zu bincount eine passende Option. Man muß sie nur nachlesen.

@Ego: Pythonisch wäre es, gute und richtig geschriebene Variablennamen zu verwenden.

Re: Pythonisch schreiben

Verfasst: Donnerstag 28. Juni 2018, 15:05
von Ego
Vielen Dank für die Antworten.

Durch die sporadisch auftretenden Fehler, weil das Array zufällig zu kurz war, war ich so verdattert, dass ich nicht selbst besser nachgelesen habe.
Der ausgiebige Gebrauch von optionalen Parametern ist mir noch nicht so geläufig.

@Sirius3: Die Variablen benenne ich schon sprechender, wenn sie später noch verwendet werden, bisher leider noch nicht durchgängig mit Kleinbuchstaben beginnend. Ich will mich bessern.

Gruss