Opgelost: python opeenvolgende nummers verschil tussen

Het grootste probleem met betrekking tot het verschil tussen opeenvolgende getallen in Python is dat het verschil tussen twee opeenvolgende getallen niet altijd hetzelfde is. Als u bijvoorbeeld een lijst met getallen [1, 2, 3] hebt, is het verschil tussen 1 en 2 1, maar het verschil tussen 2 en 3 is slechts 0.5. Dit kan verwarring veroorzaken bij het berekenen van verschillen in waarden of bij het gebruik van algoritmen die afhankelijk zijn van een constante stapgrootte.

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

# Regel 1: Deze regel definieert een functie met de naam opeenvolgend_verschil die één argument bevat, nums.
# Regel 2: Deze regel maakt een lege lijst met de naam diff.
# Regel 3: Deze regel is een for-lus die de lengte van getallen min één herhaalt.
# Regel 4: Deze regel voegt de absolute waarde van het verschil tussen elk element in getallen toe aan de diff-lijst.
# Regel 5: Deze regel retourneert de diff-lijst nadat deze is gevuld met alle verschillen tussen opeenvolgende elementen in getallen.
# Regel 8: Deze regel stelt een variabele met de naam nums gelijk aan een lijst met 2, 4, 6 en 8.
# Regel 9: Deze regel drukt het resultaat af van het aanroepen van consecutive_difference op nums.

Vind opeenvolgende nummers in een lijst in Python

Het vinden van opeenvolgende nummers in een lijst in Python is relatief eenvoudig. De eenvoudigste benadering is om door de lijst te bladeren en elk element te vergelijken met het voorgaande. Als het verschil tussen twee elementen 1 is, dan zijn het opeenvolgende getallen.

Hier is een voorbeeld van hoe dit kan worden gedaan:

getallen = [1,2,3,4,5,6] # Lijst met getallen
opeenvolgende_nummers = [] # Lijst om opeenvolgende nummers op te slaan
for i in range(len(numbers)-1): # Loop door de lijst
if (getallen[i+1] – getallen[i]) == 1: # Controleer of het verschil tussen twee elementen 1 is
opeenvolgende_nummers.append(nummers[i]) # Voeg element toe aan lijst met opeenvolgende nummers
opeenvolgende_nummers.append(nummers[i+1]) # Voeg het volgende element toe aan de lijst met opeenvolgende nummers
print(opeenvolgende_nummers) # Druk een lijst met opeenvolgende nummers af

Krijg het verschil tussen opeenvolgende nummers in een lijst

In Python kun je het verschil tussen opeenvolgende nummers in een lijst krijgen door de functie zip() te gebruiken. De functie zip() neemt twee of meer iterables en retourneert een iterator van tuples. Het eerste item in elke geslaagde herhaling wordt aan elkaar gekoppeld, vervolgens wordt het tweede item in elke geslaagde herhaling aan elkaar gekoppeld, enzovoort. Om het verschil tussen opeenvolgende getallen in een lijst te krijgen, kun je zip() gebruiken om elk getal te koppelen aan zijn voorganger en ze vervolgens af te trekken om het verschil te krijgen. Bijvoorbeeld:

lijst_nummers = [1, 2, 3, 4]
verschillen = [y – x voor x, y in zip(lijstnummers[:-1], lijstnummers[1:])]
print(verschillen) # Uitvoer: [1, 1, 1]

Gerelateerde berichten:

Laat een bericht achter