2 Stimmen

Erhöhen der Variablen Zähler beim Durchlaufen einer Liste

Ich habe eine Bedingung, die ich gegen jedes Element in einer Liste überprüfe, und wenn die Bedingung wahr wird, möchte ich den Wert eines Zählers in einer von mehreren Variablen erhöhen. Hier ist mein Beispiel:

for el in elements:
    if sum(x, el) < 5:
        .........ETWAS TUEN: Variable age erhöhen

Jetzt möchte ich die Variable, die zu diesem el in elements gehört, erhöhen. Zum Beispiel, wenn das el age war und dann möchte ich eine Alter-Variable erhöhen, wie würde das gemacht werden?

Ich könnte das durch das Schreiben vieler switch-Anweisungen machen, aber was wäre der pythonischste Weg, um das zu tun.

Danke

BEARBEITEN

Was ich tun möchte, ist, dass jedes Element eine Reihe von Koordinaten einer Stadt (Längen- und Breitengrad) ist und für jedes berechne ich die Entfernung von einem Ereignis. Ich werde geopy verwenden.

Da jedes Element jedoch Koordinaten und nicht ein Stadtname ist, möchte ich sagen, wenn das Ereignis weniger als 5 km von den Koordinaten von New York entfernt ist, die New York-Variable zu erhöhen, oder wenn es 5 km von London entfernt ist, die London-Variable zu erhöhen.

Hoffentlich macht das es klarer.

5voto

Gareth Latty Punkte 81833

Dies ist ein Fall für eine Listenkomprehension:

[el if sum(x, el) < 5 else el + 1 for el in elements]

Bearbeitung: Aus Ihrer Bearbeitung bin ich mir nicht wirklich sicher, ob das, was Sie beschreiben, mit dem übereinstimmt, was Sie ursprünglich gesagt haben. Was Ihre Bearbeitung sagt, entspricht eher etwas wie diesem:

cities = {"London": (10, 15), "New York": (20, 50)}
def find_closest_city(location):
    ...

city_count = collections.Counter([find_closest_city(el) for el in elements])

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X