Rezolvat: diferența dintre numere consecutive python

Principala problemă legată de diferența dintre numerele consecutive Python este că diferența dintre două numere consecutive nu este întotdeauna aceeași. De exemplu, dacă aveți o listă de numere [1, 2, 3], diferența dintre 1 și 2 este 1, dar diferența dintre 2 și 3 este doar 0.5. Acest lucru poate provoca confuzie atunci când se încearcă calcularea diferențelor de valori sau când se utilizează algoritmi care se bazează pe o dimensiune constantă a pasului.

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: Această linie definește o funcție numită consecutive_difference care preia un singur argument, nums.
# Linia 2: Această linie creează o listă goală numită diff.
# Linia 3: Această linie este o buclă for care iterează pe lungimea nums minus unu.
# Linia 4: Această linie adaugă valoarea absolută a diferenței dintre fiecare element în numere la lista de diferențe.
# Linia 5: Această linie returnează lista de diferențe după ce a fost completată cu toate diferențele dintre elementele consecutive în numere.
# Linia 8: Această linie setează o variabilă numită nums egală cu o listă care conține 2, 4, 6 și 8.
# Linia 9: Această linie afișează rezultatul apelării consecutive_difference pe numere.

Găsiți numere consecutive într-o listă în Python

Găsirea numerelor consecutive într-o listă în Python este relativ ușoară. Cea mai simplă abordare este să parcurgeți lista și să comparați fiecare element cu cel dinainte. Dacă diferența dintre două elemente este 1, atunci acestea sunt numere consecutive.

Iată un exemplu despre cum se poate face acest lucru:

numere = [1,2,3,4,5,6] # Lista numerelor
consecutive_numbers = [] # Listă pentru a stoca numere consecutive
for i in range(len(numbers)-1): # Buclă prin listă
if (numere[i+1] – numere[i]) == 1: # Verificați dacă diferența dintre două elemente este 1
consecutive_numbers.append(numbers[i]) # Adăugați element la lista de numere consecutive
consecutive_numbers.append(numbers[i+1]) # Adăugați următorul element la lista de numere consecutive
print(consecutive_numbers) # Tipăriți lista de numere consecutive

Obțineți diferența dintre numerele consecutive dintr-o listă

În Python, puteți obține diferența dintre numerele consecutive dintr-o listă folosind funcția zip(). Funcția zip() preia două sau mai multe iterabile și returnează un iterator de tupluri. Primul articol din fiecare iterabil trecut este împerecheat împreună, apoi al doilea element din fiecare iterabil trecut este împerecheat împreună și așa mai departe. Pentru a obține diferența dintre numerele consecutive dintr-o listă, puteți utiliza zip() pentru a asocia fiecare număr cu predecesorul său și apoi le scădeți pentru a obține diferența. De exemplu:

numere_listă = [1, 2, 3, 4]
diferențe = [y – x pentru x, y în zip(list_numbers[:-1], list_numbers[1:])]
print(diferențe) # Ieșire: [1, 1, 1]

Postări asemănatoare:

Lăsați un comentariu