Vyřešeno: odečtěte konstantu ze seznamu

Ve světě programování často nastávají situace, kdy je potřeba provést určitou operaci na více položkách v seznamu najednou, místo abyste to dělali jednotlivě. Jedním takovým příkladem těchto operací v programování v Pythonu může být odečítání konstanty od každého prvku seznamu. Tento druh operací je běžný při manipulaci s daty a Python, vysoce univerzální a efektivní jazyk, má účinné metody pro zpracování takových operací.

Python, interpretovaný, univerzální programovací jazyk na vysoké úrovni, přichází s množstvím vestavěných a externích metod a knihoven pro zpracování různých operací s daty. Pro odečítání konstanty ze seznamu nabízí Python několik přístupů. Ty se mohou pohybovat od použití základní smyčky for až po použití pokročilých metod z externích knihoven, jako je NumPy.

# Initial List
A = [12, 8, 6, 10]
# Constant to subtract
c = 5

# Using list comprehension
B = [i - c for i in A]

Fragment kódu výše nejprve vytvoří seznam „A“ a konstantu „c“, které se odečítají od každého prvku „A“. Potom se použije běžný pythonovský idiom, porozumění seznamu k odečtení `c` od každého prvku v `A`.

Zkoumání porozumění seznamu

Seznam porozumění poskytují stručný způsob vytváření seznamů na základě existujících seznamů. V našem případě jej používáme k vytvoření nového seznamu, který je výsledkem operace (odčítání) aplikované na každého člena existujícího seznamu.

Syntaxe je trochu jako nastavení smyčky, ale vše je na jednom řádku a vytváří nový seznam. Nejzákladnější tvar s našimi proměnnými by byl [výraz(a) pro a v A]. Je celkem jasné, že to vezme každý prvek `a` v seznamu `A` a předá ho `výraz(a)`.

Ale můžeme také přidat podmínku do pochopení seznamu, takže se bude chovat trochu jako kombinace cyklu for a příkazu if.

Použití NumPy pro operace na seznamech

Při práci s velkými datovými sadami může být používání vestavěných metod Pythonu neefektivní. V takových případech Python poskytuje externí knihovny jako nemotorný které jsou speciálně navrženy pro efektivní zpracování velkých dat.

import numpy as np

# Using numpy
A = np.array(A)
B = A - c

Knihovna NumPy poskytuje typ objektu nazývaný pole, který je pro analýzu dat efektivnější a pohodlnější než běžný seznam Pythonu. Pole v NumPy mohou provádět všechny standardní operace, jako je sčítání, odčítání, násobení atd. na všech prvcích najednou, což může ušetřit čas kódování i provádění.

Související příspěvky:

Zanechat komentář