Megoldva: python egymást követő számok különbsége

A Python egymást követő számok közötti különbségekkel kapcsolatos fő probléma az, hogy a két egymást követő szám közötti különbség nem mindig azonos. Például, ha van egy számlistája [1, 2, 3], az 1 és a 2 közötti különbség 1, de a 2 és 3 közötti különbség csak 0.5. Ez zavart okozhat, amikor megpróbálja kiszámítani az értékek különbségeit, vagy ha olyan algoritmusokat használ, amelyek állandó lépésméretre támaszkodnak.

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

# 1. sor: Ez a sor egy consecutive_difference nevű függvényt definiál, amely egyetlen argumentumot, számokat vesz fel.
# 2. sor: Ez a sor egy diff nevű üres listát hoz létre.
# 3. sor: Ez a sor egy for ciklus, amely a számok mínusz egy hosszában iterál.
# 4. sor: Ez a sor hozzáadja az egyes elemek közötti különbség abszolút értékét számokban a diff listához.
# 5. sor: Ez a sor a diff listát adja vissza, miután feltöltötte az egymást követő elemek közötti különbségeket számokban.
# 8. sor: Ez a sor egy nums nevű változót állít be, amely egyenlő a 2, 4, 6 és 8-at tartalmazó listával.
# 9. sor: Ez a sor a consecutive_difference hívásának eredményét írja ki a számokon.

Keresse meg az egymást követő számokat egy listában a Pythonban

Az egymást követő számok keresése egy listában a Pythonban viszonylag egyszerű. A legegyszerűbb megközelítés az, ha végigpörgetjük a listát, és összehasonlítjuk az egyes elemeket az előtte lévővel. Ha két elem közötti különbség 1, akkor ezek egymást követő számok.

Íme egy példa, hogyan lehet ezt megtenni:

számok = [1,2,3,4,5,6] # Számok listája
consecutive_numbers = [] # Lista az egymást követő számok tárolására
for i in range(len(numbers)-1): # Lépés a listán keresztül
if (számok[i+1] – számok[i]) == 1: # Ellenőrizze, hogy két elem közötti különbség 1
consecutive_numbers.append(numbers[i]) # Elem hozzáfűzése az egymást követő számok listájához
consecutive_numbers.append(numbers[i+1]) # Következő elem hozzáfűzése az egymást követő számok listájához
print(consecutive_numbers) # Az egymást követő számok listájának kinyomtatása

Szerezze meg a listában szereplő egymást követő számok közötti különbséget

A Pythonban a zip() függvény használatával megállapíthatja a listában lévő egymást követő számok közötti különbséget. A zip() függvény két vagy több iterálható elemet vesz igénybe, és a sorok iterátorát adja vissza. Az egyes átment iterálható elemek első eleme párosítva van, majd az egyes átment iterálások második eleme együtt párosul, és így tovább. A listában lévő egymást követő számok közötti különbség megállapításához a zip() segítségével párosíthatja az egyes számokat az elődjével, majd kivonhatja őket a különbség kiszámításához. Például:

list_numbers = [1, 2, 3, 4]
különbségek = [y – x x esetén, y zip(lista_számok[:-1], lista_számok[1:])]
print(különbségek) # Kimenet: [1, 1, 1]

Kapcsolódó hozzászólások:

Írj hozzászólást