Lahendatud: python järjestikuste arvude vahe

Peamine Pythoni järjestikuste numbrite erinevusega seotud probleem on see, et kahe järjestikuse arvu erinevus ei ole alati sama. Näiteks kui teil on arvude loend [1, 2, 3], on 1 ja 2 vahe 1, kuid 2 ja 3 vahe on ainult 0.5. See võib tekitada segadust väärtuste erinevuste arvutamisel või konstantsel sammusuurusel põhinevate algoritmide kasutamisel.

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

# Rida 1: see rida määratleb funktsiooni consecutive_difference, mis võtab sisse ühe argumendi, numbrid.
# Rida 2: see rida loob tühja loendi nimega diff.
# Rida 3: see rida on for-silmus, mis kordub läbi numbrite miinus ühe pikkuse.
# Rida 4: see rida lisab erinevuste loendisse iga elemendi vahelise erinevuse absoluutväärtuse numbrites.
# Rida 5: see rida tagastab erinevuste loendi pärast seda, kui see on täidetud kõigi järjestikuste elementide erinevustega numbrites.
# Rida 8: see rida seab muutuja nimega nums võrdseks loendiga, mis sisaldab 2, 4, 6 ja 8.
# Rida 9: see rida prindib numbrite consecutive_difference kutsumise tulemuse.

Otsige Pythonis loendist järjestikuseid numbreid

Pythonis on loendist järjestikuste arvude leidmine suhteliselt lihtne. Kõige lihtsam on loendis ringi käia ja iga elementi võrrelda eelnevaga. Kui kahe elemendi vahe on 1, siis on need järjestikused arvud.

Siin on näide selle kohta, kuidas seda teha.

numbrid = [1,2,3,4,5,6] # Numbrite loend
consecutive_numbers = [] # Loend järjestikuste numbrite salvestamiseks
i jaoks vahemikus(len(numbrid)-1): # Loendis ringkäik
if (arvud[i+1] – numbrid[i]) == 1: # Kontrollige, kas kahe elemendi erinevus on 1
consecutive_numbers.append(numbrid[i]) # Lisa element järjestikuste arvude loendisse
consecutive_numbers.append(numbrid[i+1]) # Lisa järgmine element järjestikuste arvude loendisse
print(consecutive_numbers) # Trüki välja järjestikuste numbrite loend

Vaadake loendis olevate järjestikuste numbrite erinevust

Pythonis saate loendis olevate järjestikuste numbrite erinevuse näha funktsiooni zip() abil. Funktsioon zip() võtab kaks või enam itereeritavat korda ja tagastab korduste iteraatori. Iga läbitud itereeritava esimene üksus paaristatakse koos, seejärel iga läbitud itereeritava teine ​​​​üksus koos ja nii edasi. Loendis olevate järjestikuste arvude erinevuse leidmiseks saate kasutada zip(), et siduda iga number eelkäijaga ja seejärel need erinevuse saamiseks lahutada. Näiteks:

loendi_numbrid = [1, 2, 3, 4]
erinevused = [y – x x jaoks, y zip(loendi_numbrid[:-1], loendi_numbrid[1:])]
print(erinevused) # Väljund: [1, 1, 1]

Seonduvad postitused:

Jäta kommentaar