Gelöst: Unterschied zwischen aufeinander folgenden Python-Nummern

Das Hauptproblem im Zusammenhang mit dem Unterschied zwischen fortlaufenden Python-Nummern besteht darin, dass der Unterschied zwischen zwei fortlaufenden Nummern nicht immer gleich ist. Wenn Sie beispielsweise eine Liste mit Zahlen [1, 2, 3] haben, beträgt die Differenz zwischen 1 und 2 1, aber die Differenz zwischen 2 und 3 beträgt nur 0.5. Dies kann zu Verwirrung führen, wenn versucht wird, Unterschiede in Werten zu berechnen, oder wenn Algorithmen verwendet werden, die auf einer konstanten Schrittweite beruhen.

def consecutive_difference(nums): 
    diff = [] 
    for i in range(len(nums)-1): 
        diff.append(abs(nums[i] - nums[i+1])) 
    return diff 
  
# Driver code 
nums = [2, 4, 6, 8] 
print(consecutive_difference(nums))

# Zeile 1: Diese Zeile definiert eine Funktion namens Consecutive_difference, die ein Argument, nums, akzeptiert.
# Zeile 2: Diese Zeile erstellt eine leere Liste namens diff.
# Zeile 3: Diese Zeile ist eine for-Schleife, die die Länge von nums minus eins durchläuft.
# Zeile 4: Diese Zeile fügt den absoluten Wert der Differenz zwischen jedem Element in Zahlen zur diff-Liste hinzu.
# Zeile 5: Diese Zeile gibt die Diff-Liste zurück, nachdem sie mit allen Unterschieden zwischen aufeinanderfolgenden Elementen in Zahlen gefüllt wurde.
# Zeile 8: Diese Zeile setzt eine Variable namens nums gleich einer Liste, die 2, 4, 6 und 8 enthält.
# Zeile 9: Diese Zeile gibt das Ergebnis des Aufrufs von serial_difference für nums aus.

Finden Sie fortlaufende Nummern in einer Liste in Python

Das Auffinden fortlaufender Nummern in einer Liste in Python ist relativ einfach. Der einfachste Ansatz besteht darin, die Liste zu durchlaufen und jedes Element mit dem davor zu vergleichen. Wenn die Differenz zwischen zwei Elementen 1 ist, dann sind sie fortlaufende Zahlen.

Hier ist ein Beispiel dafür, wie dies geschehen kann:

numbers = [1,2,3,4,5,6] # Liste von Zahlen
fortlaufende_numbers = [] # Liste zum Speichern fortlaufender Nummern
for i in range(len(numbers)-1): # Schleife durch die Liste
if (numbers[i+1] – numbers[i]) == 1: # Prüfen, ob die Differenz zwischen zwei Elementen 1 ist
fortlaufende_numbers.append(numbers[i]) # Element an Liste fortlaufender Nummern anhängen
fortlaufende_numbers.append(numbers[i+1]) # Nächstes Element an Liste fortlaufender Nummern anhängen
print(consecutive_numbers) # Liste der fortlaufenden Nummern ausdrucken

Holen Sie sich den Unterschied zwischen aufeinanderfolgenden Zahlen in einer Liste

In Python können Sie den Unterschied zwischen aufeinanderfolgenden Zahlen in einer Liste ermitteln, indem Sie die Funktion zip() verwenden. Die Funktion zip() nimmt zwei oder mehr Iterables und gibt einen Iterator von Tupeln zurück. Das erste Element in jedem übergebenen Iterable wird gepaart, dann wird das zweite Element in jedem übergebenen Iterable gepaart und so weiter. Um den Unterschied zwischen aufeinanderfolgenden Zahlen in einer Liste zu erhalten, können Sie zip() verwenden, um jede Zahl mit ihrem Vorgänger zu paaren und sie dann zu subtrahieren, um den Unterschied zu erhalten. Zum Beispiel:

list_numbers = [1, 2, 3, 4]
unterschiede = [y – x für x, y in zip(list_numbers[:-1], list_numbers[1:])]
print(differenzen) # Ausgabe: [1, 1, 1]

Zusammenhängende Posts:

Hinterlasse einen Kommentar