Riješeno: Python razlika uzastopnih brojeva između

Glavni problem povezan s razlikom u uzastopnim brojevima u Pythonu je taj što razlika između dva uzastopna broja nije uvijek ista. Na primjer, ako imate popis brojeva [1, 2, 3], razlika između 1 i 2 je 1, ali razlika između 2 i 3 je samo 0.5. To može izazvati zabunu kada pokušavate izračunati razlike u vrijednostima ili kada koristite algoritme koji se oslanjaju na stalnu veličinu 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))

# Redak 1: Ovaj redak definira funkciju koja se zove consecutive_difference koja uzima jedan argument, nums.
# Linija 2: Ova linija stvara praznu listu koja se zove diff.
# Redak 3: Ovaj redak je for petlja koja iterira kroz duljinu brojeva minus jedan.
# Redak 4: Ovaj redak dodaje apsolutnu vrijednost razlike između svakog elementa u brojevima na diff listu.
# Redak 5: Ovaj redak vraća popis razlika nakon što je popunjen svim razlikama između uzastopnih elemenata u brojevima.
# Redak 8: Ovaj redak postavlja varijablu zvanu nums jednaku popisu koji sadrži 2, 4, 6 i 8.
# Redak 9: Ovaj redak ispisuje rezultat pozivanja consecutive_difference na nums.

Pronađite uzastopne brojeve na popisu u Pythonu

Pronalaženje uzastopnih brojeva na listi u Pythonu je relativno jednostavno. Najjednostavniji pristup je proći kroz popis i usporediti svaki element s onim prije njega. Ako je razlika između dva elementa 1, onda su to uzastopni brojevi.

Evo primjera kako se to može učiniti:

brojevi = [1,2,3,4,5,6] # Popis brojeva
consecutive_numbers = [] # Popis za pohranjivanje uzastopnih brojeva
for i in range(len(numbers)-1): # Prolazi kroz popis
if (brojevi[i+1] – brojevi[i]) == 1: # Provjerite je li razlika između dva elementa 1
consecutive_numbers.append(numbers[i]) # Dodavanje elementa na popis uzastopnih brojeva
consecutive_numbers.append(numbers[i+1]) # Dodavanje sljedećeg elementa na popis uzastopnih brojeva
print(consecutive_numbers) # Ispis popisa uzastopnih brojeva

Dobijte razliku između uzastopnih brojeva na popisu

U Pythonu možete dobiti razliku između uzastopnih brojeva na popisu pomoću funkcije zip(). Funkcija zip() uzima dva ili više iterabla i vraća iterator torki. Prva stavka u svakom prošlom iterablu se uparuje zajedno, zatim se druga stavka u svakom prošlom iterablu uparuje zajedno, i tako dalje. Da biste dobili razliku između uzastopnih brojeva na popisu, možete koristiti zip() za uparivanje svakog broja s njegovim prethodnikom, a zatim ih oduzeti kako biste dobili razliku. Na primjer:

popis_brojeva = [1, 2, 3, 4]
razlike = [y – x za x, y u zip(lista_brojeva[:-1], lista_brojeva[1:])]
ispis(razlike) # Izlaz: [1, 1, 1]

Povezani postovi:

Ostavite komentar