Rešeno: razlika med zaporednimi številkami python

Glavna težava, povezana z razliko med zaporednimi številkami Python, je, da razlika med dvema zaporednima številkama ni vedno enaka. Na primer, če imate seznam številk [1, 2, 3], je razlika med 1 in 2 1, razlika med 2 in 3 pa le 0.5. To lahko povzroči zmedo, ko poskušate izračunati razlike v vrednostih ali pri uporabi algoritmov, ki se opirajo na konstantno velikost koraka.

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))

# Vrstica 1: Ta vrstica definira funkcijo, imenovano consecutive_difference, ki sprejme en argument, nums.
# Vrstica 2: Ta vrstica ustvari prazen seznam, imenovan diff.
# Vrstica 3: Ta vrstica je for zanka, ki ponavlja dolžino nums minus ena.
# Vrstica 4: Ta vrstica doda absolutno vrednost razlike med vsakim elementom v nums na seznam diff.
# Vrstica 5: Ta vrstica vrne seznam razlik, potem ko je bil zapolnjen z vsemi razlikami med zaporednimi elementi v številkah.
# Vrstica 8: Ta vrstica nastavi spremenljivko, imenovano nums, enako seznamu, ki vsebuje 2, 4, 6 in 8.
# Vrstica 9: Ta vrstica natisne rezultat klica consecutive_difference na nums.

Poiščite zaporedne številke na seznamu v Pythonu

Iskanje zaporednih številk na seznamu v Pythonu je relativno enostavno. Najbolj enostaven pristop je, da se pomikate po seznamu in primerjate vsak element s tistim pred njim. Če je razlika med dvema elementoma 1, sta to zaporedni števili.

Tukaj je primer, kako je to mogoče storiti:

številke = [1,2,3,4,5,6] # Seznam številk
consecutive_numbers = [] # Seznam za shranjevanje zaporednih številk
for i in range(len(numbers)-1): # Skozi seznam
if (numbers[i+1] – numbers[i]) == 1: # Preverite, če je razlika med dvema elementoma 1
consecutive_numbers.append(numbers[i]) # Dodaj element na seznam zaporednih številk
consecutive_numbers.append(numbers[i+1]) # Dodaj naslednji element na seznam zaporednih številk
print(consecutive_numbers) # Izpis seznama zaporednih številk

Ugotovite razliko med zaporednimi številkami na seznamu

V Pythonu lahko dobite razliko med zaporednimi številkami na seznamu s funkcijo zip(). Funkcija zip() vzame dve ali več iterablev in vrne iterator tuplev. Prvi element v vsaki opravljeni iterabli je seznanjen skupaj, nato je drugi element v vsaki opravljeni iterabli seznanjen skupaj in tako naprej. Če želite dobiti razliko med zaporednimi številkami na seznamu, lahko uporabite zip(), da seznanite vsako številko z njenim predhodnikom in ju nato odštejete, da dobite razliko. Na primer:

seznam_števil = [1, 2, 3, 4]
razlike = [y – x za x, y v zip(seznam_števil [:-1], seznam_števil [1:])]
izpis (razlike) # Izhod: [1, 1, 1]

Podobni objav:

Pustite komentar