Solucionat: diferència de números consecutius de Python

El principal problema relacionat amb la diferència de números consecutius de Python és que la diferència entre dos nombres consecutius no sempre és la mateixa. Per exemple, si teniu una llista de nombres [1, 2, 3], la diferència entre 1 i 2 és 1, però la diferència entre 2 i 3 és només 0.5. Això pot causar confusió quan s'intenta calcular diferències de valors o quan s'utilitzen algorismes que es basen en una mida de pas constant.

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

# Línia 1: aquesta línia defineix una funció anomenada consecutive_difference que pren un argument, nums.
# Línia 2: aquesta línia crea una llista buida anomenada diff.
# Línia 3: aquesta línia és un bucle for que itera per la longitud de nums menys un.
# Línia 4: aquesta línia afegeix el valor absolut de la diferència entre cada element en nombres a la llista de diferències.
# Línia 5: aquesta línia retorna la llista de diferències després que s'hagi emplenat amb totes les diferències entre elements consecutius en nombres.
# Línia 8: aquesta línia estableix una variable anomenada nums igual a una llista que conté 2, 4, 6 i 8.
# Línia 9: aquesta línia imprimeix el resultat de cridar consecutive_difference a nums.

Trobeu nombres consecutius en una llista en Python

Trobar nombres consecutius en una llista a Python és relativament fàcil. L'enfocament més senzill és recórrer la llista i comparar cada element amb l'anterior. Si la diferència entre dos elements és 1, són nombres consecutius.

Aquí teniu un exemple de com es pot fer això:

nombres = [1,2,3,4,5,6] # Llista de números
consecutive_numbers = [] # Llista per emmagatzemar números consecutius
per i en rang(len(nombres)-1): # Recorre la llista
if (nombres[i+1] – nombres[i]) == 1: # Comproveu si la diferència entre dos elements és 1
consecutive_numbers.append(nombres[i]) # Afegeix un element a la llista de números consecutius
consecutive_numbers.append(nombres[i+1]) # Afegeix el següent element a la llista de números consecutius
print(consecutive_numbers) # Imprimeix la llista de números consecutius

Obteniu la diferència entre els números consecutius d'una llista

A Python, podeu obtenir la diferència entre números consecutius d'una llista mitjançant la funció zip(). La funció zip() pren dos o més iterables i retorna un iterador de tuples. El primer element de cada iterable passat s'acobla, després el segon element de cada iterable passat s'aparella, i així successivament. Per obtenir la diferència entre números consecutius d'una llista, podeu utilitzar zip() per emparellar cada número amb el seu predecessor i després restar-los per obtenir la diferència. Per exemple:

nombres_llista = [1, 2, 3, 4]
diferències = [y – x per a x, y a zip(nombres_llista[:-1], números_llista[1:])]
imprimir (diferències) # Sortida: [1, 1, 1]

Articles Relacionats:

Deixa el teu comentari