Löst: python konsekutiva nummer skillnad mellan

Det största problemet relaterade till skillnaden mellan Python konsekutiva nummer är att skillnaden mellan två på varandra följande nummer inte alltid är densamma. Till exempel, om du har en lista med siffror [1, 2, 3], är skillnaden mellan 1 och 2 1, men skillnaden mellan 2 och 3 är bara 0.5. Detta kan orsaka förvirring när man försöker beräkna skillnader i värden eller när man använder algoritmer som förlitar sig på en konstant stegstorlek.

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

# Rad 1: Denna rad definierar en funktion som kallas consecutive_difference som tar in ett argument, nums.
# Rad 2: Denna rad skapar en tom lista som heter diff.
# Linje 3: Den här linjen är en for-slinga som itererar genom längden av siffror minus ett.
# Rad 4: Denna rad lägger till det absoluta värdet av skillnaden mellan varje element i nums till skillnadslistan.
# Rad 5: Denna rad returnerar difflistan efter att den har fyllts i med alla skillnader mellan på varandra följande element i nums.
# Rad 8: Denna rad ställer in en variabel som kallas nums lika med en lista som innehåller 2, 4, 6 och 8.
# Rad 9: Denna rad skriver ut resultatet av att anropa consecutive_difference på nums.

Hitta på varandra följande nummer i en lista i Python

Att hitta på varandra följande nummer i en lista i Python är relativt enkelt. Den enklaste metoden är att gå igenom listan och jämföra varje element med det före det. Om skillnaden mellan två element är 1, är de på varandra följande tal.

Här är ett exempel på hur detta kan göras:

nummer = [1,2,3,4,5,6] # Lista med nummer
consecutive_numbers = [] # Lista för att lagra på varandra följande nummer
för i inom intervallet(len(tal)-1): # Slinga genom listan
if (tal[i+1] – tal[i]) == 1: # Kontrollera om skillnaden mellan två element är 1
consecutive_numbers.append(numbers[i]) # Lägg till element i listan över på varandra följande nummer
consecutive_numbers.append(numbers[i+1]) # Lägg till nästa element till listan över på varandra följande nummer
print(konsekutive_numbers) # Skriv ut lista över på varandra följande nummer

Få skillnaden mellan på varandra följande nummer i en lista

I Python kan du få skillnaden mellan på varandra följande tal i en lista genom att använda zip()-funktionen. Zip()-funktionen tar två eller flera iterables och returnerar en iterator av tupler. Det första objektet i varje godkänd iterabel paras ihop, sedan paras det andra objektet i varje godkänd iterabel ihop, och så vidare. För att få skillnaden mellan på varandra följande tal i en lista kan du använda zip() för att para ihop varje nummer med dess föregångare och sedan subtrahera dem för att få skillnaden. Till exempel:

list_numbers = [1, 2, 3, 4]
skillnader = [y – x för x, y i zip(list_numbers[:-1], list_numbers[1:])]
print(skillnader) # Utdata: [1, 1, 1]

Relaterade inlägg:

Lämna en kommentar