Głównym problemem związanym z różnicą kolejnych liczb w Pythonie jest to, że różnica między dwiema kolejnymi liczbami nie zawsze jest taka sama. Na przykład, jeśli masz listę liczb [1, 2, 3], różnica między 1 a 2 wynosi 1, ale różnica między 2 a 3 wynosi tylko 0.5. Może to powodować zamieszanie podczas próby obliczenia różnic w wartościach lub podczas korzystania z algorytmów, które opierają się na stałej wielkości kroku.
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))
# Linia 1: Ta linia definiuje funkcję o nazwie „różnica_kolejna”, która przyjmuje jeden argument, nums.
# Linia 2: Ta linia tworzy pustą listę o nazwie diff.
# Linia 3: Ta linia jest pętlą for, która iteruje przez długość num minus jeden.
# Linia 4: Ta linia dodaje wartość bezwzględną różnicy między każdym elementem w liczbach do listy różnic.
# Linia 5: Ta linia zwraca listę różnic po wypełnieniu jej wszystkimi różnicami między kolejnymi elementami w liczbach.
# Linia 8: Ta linia ustawia zmienną o nazwie nums na równą liście zawierającej 2, 4, 6 i 8.
# Linia 9: Ta linia wypisuje wynik wywołania funkcji consultant_difference na nums.
Znajdź kolejne liczby na liście w Pythonie
Znalezienie kolejnych liczb na liście w Pythonie jest stosunkowo łatwe. Najprostszym podejściem jest przeglądanie listy w pętli i porównywanie każdego elementu z poprzednim. Jeśli różnica między dwoma elementami wynosi 1, to są to kolejne liczby.
Oto przykład, jak można to zrobić:
numery = [1,2,3,4,5,6] # Lista numerów
liczba_kolejna = [] # Lista do przechowywania kolejnych liczb
for i in range(len(numbers)-1): # Przejrzyj listę
if (liczby[i+1] – liczby[i]) == 1: # Sprawdź, czy różnica między dwoma elementami wynosi 1
since_numbers.append(numbers[i]) # Dołącza element do listy kolejnych numerów
since_numbers.append(numbers[i+1]) # Dołącz kolejny element do listy kolejnych numerów
print(consecutive_numbers) # Wydrukuj listę kolejnych numerów
Uzyskaj różnicę między kolejnymi liczbami na liście
W Pythonie możesz uzyskać różnicę między kolejnymi liczbami na liście, używając funkcji zip(). Funkcja zip() przyjmuje dwie lub więcej iteracji i zwraca iterator krotek. Pierwszy element w każdej przekazanej iteracji jest parowany, następnie drugi element w każdej przekazanej iteracji jest parowany razem i tak dalej. Aby uzyskać różnicę między kolejnymi liczbami na liście, możesz użyć metody zip() w celu sparowania każdej liczby z jej poprzednikiem, a następnie odjąć je, aby uzyskać różnicę. Na przykład:
lista_liczb = [1, 2, 3, 4]
różnice = [y – x dla x, y w zip(lista_liczb[:-1], lista_liczb[1:])]
print(różnice) # Wyjście: [1, 1, 1]