Zgjidhur: python numrat e njëpasnjëshëm dallimin mes

Problemi kryesor që lidhet me ndryshimin midis numrave të njëpasnjëshëm të Python është se ndryshimi midis dy numrave të njëpasnjëshëm nuk është gjithmonë i njëjtë. Për shembull, nëse keni një listë numrash [1, 2, 3], ndryshimi midis 1 dhe 2 është 1, por ndryshimi midis 2 dhe 3 është vetëm 0.5. Kjo mund të shkaktojë konfuzion kur përpiqeni të llogaritni ndryshimet në vlera ose kur përdorni algoritme që mbështeten në një madhësi konstante hapi.

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

# Rreshti 1: Kjo linjë përcakton një funksion të quajtur konsekutiv_difference që merr një argument, nums.
# Rreshti 2: Kjo rresht krijon një listë boshe të quajtur diff.
# Rreshti 3: Kjo linjë është një cikli for që përsëritet përgjatë gjatësisë së numrave minus një.
# Rreshti 4: Kjo rresht shton vlerën absolute të diferencës midis secilit element në numra në listën e dallimeve.
# Rreshti 5: Kjo rresht kthen listën e ndryshimeve pasi të jetë mbushur me të gjitha ndryshimet midis elementeve të njëpasnjëshme në numra.
# Rreshti 8: Kjo rresht vendos një variabël të quajtur nums të barabartë me një listë që përmban 2, 4, 6 dhe 8.
# Linja 9: Kjo linjë printon rezultatin e thirrjes së ndryshimit të njëpasnjëshëm në numra.

Gjeni numra të njëpasnjëshëm në një listë në Python

Gjetja e numrave të njëpasnjëshëm në një listë në Python është relativisht e lehtë. Qasja më e drejtpërdrejtë është të kaloni nëpër listë dhe të krahasoni çdo element me atë para saj. Nëse ndryshimi midis dy elementeve është 1, atëherë ata janë numra të njëpasnjëshëm.

Ja një shembull se si mund të bëhet kjo:

numrat = [1,2,3,4,5,6] # Lista e numrave
numrat e_pasnjëshëm = [] # Lista për të ruajtur numrat e njëpasnjëshëm
për i në varg(len(numrat)-1): # Lloko përmes listës
nëse (numrat[i+1] – numrat[i]) == 1: # Kontrolloni nëse ndryshimi midis dy elementeve është 1
Consecutive_numbers.append(numbers[i]) # Shtoj element në listën e numrave të njëpasnjëshëm
Consecutive_numbers.append(numbers[i+1]) # Shtoji elementin tjetër në listën e numrave të njëpasnjëshëm
print(numrat_të njëpasnjëshëm) # Shtypni listën e numrave të njëpasnjëshëm

Merrni ndryshimin midis numrave të njëpasnjëshëm në një listë

Në Python, ju mund të merrni diferencën midis numrave të njëpasnjëshëm në një listë duke përdorur funksionin zip(). Funksioni zip() merr dy ose më shumë iterabla dhe kthen një përsëritës të tuples. Artikulli i parë në çdo iterable të kaluar çiftohet së bashku, pastaj artikulli i dytë në çdo përsëritës të kaluar çiftohet së bashku, e kështu me radhë. Për të marrë diferencën midis numrave të njëpasnjëshëm në një listë, mund të përdorni zip() për të çiftuar çdo numër me paraardhësin e tij dhe më pas t'i zbrisni për të marrë diferencën. Për shembull:

lista_numrat = [1, 2, 3, 4]
dallimet = [y – x për x, y në zip(lista_numrat[:-1], lista_numrat[1:])]
print(dallimet) # Prodhimi: [1, 1, 1]

Mesazhe të ngjashme:

Lini një koment