Vyřešeno: python rozdíl po sobě jdoucích čísel mezi

Hlavním problémem souvisejícím s rozdílem po sobě jdoucích čísel v Pythonu je, že rozdíl mezi dvěma po sobě jdoucími čísly není vždy stejný. Pokud máte například seznam čísel [1, 2, 3], rozdíl mezi 1 a 2 je 1, ale rozdíl mezi 2 a 3 je pouze 0.5. To může způsobit zmatek při pokusu o výpočet rozdílů v hodnotách nebo při použití algoritmů, které spoléhají na konstantní velikost kroku.

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

# Řádek 1: Tento řádek definuje funkci nazvanou consecutive_difference, která přijímá jeden argument, nums.
# Řádek 2: Tento řádek vytváří prázdný seznam s názvem diff.
# Řádek 3: Tento řádek je smyčkou for, která prochází délkou nums mínus jedna.
# Řádek 4: Tento řádek přidává absolutní hodnotu rozdílu mezi každým prvkem v číslech do seznamu rozdílů.
# Řádek 5: Tento řádek vrací seznam rozdílů poté, co byl naplněn všemi rozdíly mezi po sobě jdoucími prvky v počtech.
# Řádek 8: Tento řádek nastavuje proměnnou nazvanou nums rovnou seznamu obsahujícímu 2, 4, 6 a 8.
# Řádek 9: Tento řádek vytiskne výsledek volání consecutive_difference na nums.

Najděte po sobě jdoucí čísla v seznamu v Pythonu

Hledání po sobě jdoucích čísel v seznamu v Pythonu je poměrně snadné. Nejpřímějším přístupem je procházet seznam a porovnávat každý prvek s předchozím. Pokud je rozdíl mezi dvěma prvky 1, jsou to po sobě jdoucí čísla.

Zde je příklad, jak to lze provést:

čísla = [1,2,3,4,5,6] # Seznam čísel
consecutive_numbers = [] # Seznam pro uložení po sobě jdoucích čísel
pro i v rozsahu(délka(čísla)-1): # Procházet seznam
if (čísla[i+1] – čísla[i]) == 1: # Zkontrolujte, zda je rozdíl mezi dvěma prvky 1
consecutive_numbers.append(numbers[i]) # Přidat prvek k seznamu po sobě jdoucích čísel
consecutive_numbers.append(čísla[i+1]) # Přidat další prvek k seznamu po sobě jdoucích čísel
print(consecutive_numbers) # Vytiskne seznam po sobě jdoucích čísel

Získejte rozdíl mezi po sobě jdoucími čísly v seznamu

V Pythonu můžete získat rozdíl mezi po sobě jdoucími čísly v seznamu pomocí funkce zip(). Funkce zip() trvá dvě nebo více iterovatelných položek a vrací iterátor n-tic. První položka v každé předané iteraci se spáruje dohromady, poté se spáruje druhá položka v každé předané iteraci a tak dále. Chcete-li získat rozdíl mezi po sobě jdoucími čísly v seznamu, můžete použít zip() ke spárování každého čísla s jeho předchůdcem a poté je odečíst, abyste získali rozdíl. Například:

seznam_čísla = [1, 2, 3, 4]
rozdíly = [y – x pro x, y v zip(čísla_seznamu[:-1], čísla_seznamu[1:])]
tisk (rozdíly) # Výstup: [1, 1, 1]

Související příspěvky:

Zanechat komentář