Ich bin ziemlich neu in Python (ich bin mehr an C, C#) gewöhnt. Ich versuche zu lernen, und ich möchte versuchen, Dinge wie 'Pythonic' wie möglich zu machen.Wie Iterate über Intervalle in Python ordnungsgemäß?
Ich möchte über Intervalle iterieren und dann etwas tun, basierend darauf, ob eine Zahl im Intervall ist oder nicht. Ich weiß, ich kann meine Intervalle mit numpy.arrange (oder einem anderen Array Defintion) erstellen und dann iterieren die Behälter wie so
ibins = numpy.arange(start = 19, stop = 67, step = 2)
a = 50
for idx, val in enumerate(ibins) :
if idx > 0:
if ibins[idx - 1] <= a < ibins[idx] :
#do something more meaningfull
print('Hello')
jedoch auf verschiedenen Beiträgen lesen ist mein Verständnis, dass der Index des Zugriff auf bin Elemente wird in Python als "schlechte Form" betrachtet.
Was würde ich tun möchte, ist mehr so etwas wie dies
for ibin in ibins
if a is in ibin #somehow determine if a is in the bin
print('Hello')
Gibt es einen vernünftigen, kurzen Weg, dies zu erreichen? Oder ist mein erster Vorschlag der beste Weg zu gehen.
Ich möchte keine benutzerdefinierten Intervall-Objekte oder Dinge dieser Art erstellen.
'bin' ein Schlüsselwort in Python ist! Versuchen Sie, Schlüsselwörter als Variablennamen zu vermeiden. –
@hiroprotagonist Danke. Ich habe meinen Beitrag entsprechend deinem Kommentar bearbeitet. – mortysporty