Risolto: differenza tra i numeri consecutivi di Python

Il problema principale relativo alla differenza tra i numeri consecutivi di Python è che la differenza tra due numeri consecutivi non è sempre la stessa. Ad esempio, se hai un elenco di numeri [1, 2, 3], la differenza tra 1 e 2 è 1, ma la differenza tra 2 e 3 è solo 0.5. Ciò può causare confusione quando si tenta di calcolare le differenze nei valori o quando si utilizzano algoritmi che si basano su una dimensione del passo costante.

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

# Riga 1: questa riga definisce una funzione chiamata consecutive_difference che accetta un argomento, nums.
# Riga 2: questa riga crea una lista vuota chiamata diff.
# Riga 3: questa riga è un ciclo for che scorre la lunghezza di num meno uno.
# Riga 4: questa riga aggiunge il valore assoluto della differenza tra ciascun elemento in nums all'elenco diff.
# Riga 5: questa riga restituisce l'elenco diff dopo che è stato popolato con tutte le differenze tra elementi consecutivi in ​​num.
# Riga 8: questa riga imposta una variabile chiamata nums uguale a una lista contenente 2, 4, 6 e 8.
# Riga 9: questa riga stampa il risultato della chiamata consecutive_difference su nums.

Trova numeri consecutivi in ​​un elenco in Python

Trovare numeri consecutivi in ​​un elenco in Python è relativamente facile. L'approccio più diretto consiste nel scorrere l'elenco e confrontare ogni elemento con quello precedente. Se la differenza tra due elementi è 1, allora sono numeri consecutivi.

Ecco un esempio di come si può fare:

numeri = [1,2,3,4,5,6] # Lista di numeri
numeri_consecutivi = [] # Lista per memorizzare numeri consecutivi
for i in range(len(numbers)-1): # Scorre l'elenco
if (numeri[i+1] – numeri[i]) == 1: # Controlla se la differenza tra due elementi è 1
numeri_consecutivi.append(numeri[i]) # Aggiunge elemento all'elenco di numeri consecutivi
numeri_consecutivi.append(numeri[i+1]) # Aggiunge l'elemento successivo all'elenco di numeri consecutivi
print(numeri_consecutivi) # Stampa un elenco di numeri consecutivi

Ottieni la differenza tra i numeri consecutivi in ​​un elenco

In Python, puoi ottenere la differenza tra numeri consecutivi in ​​un elenco usando la funzione zip(). La funzione zip() accetta due o più iterabili e restituisce un iteratore di tuple. Il primo elemento in ogni iterabile passato viene accoppiato insieme, quindi il secondo elemento in ogni iterabile passato viene accoppiato insieme e così via. Per ottenere la differenza tra numeri consecutivi in ​​un elenco, puoi utilizzare zip() per accoppiare ciascun numero con il suo predecessore e quindi sottrarli per ottenere la differenza. Per esempio:

lista_numeri = [1, 2, 3, 4]
differenze = [y – x per x, y in zip(list_numbers[:-1], list_numbers[1:])]
print(differenze) # Output: [1, 1, 1]

Related posts:

Lascia un tuo commento