U svijetu programiranja često je potrebno izvršiti određenu operaciju na više stavki na popisu odjednom, umjesto da to radite pojedinačno. Jedan takav primjer ovih operacija u Python programiranju može biti oduzimanje konstante od svakog elementa liste. Ova vrsta operacije uobičajena je u manipulaciji podacima, a Python, vrlo svestran i učinkovit jezik, ima učinkovite metode za rukovanje takvim operacijama.
Python, interpretirani programski jezik visoke razine opće namjene, dolazi s mnoštvom ugrađenih i vanjskih metoda i biblioteka za rukovanje raznim operacijama s podacima. Za oduzimanje konstante s liste, Python nudi nekoliko pristupa. Oni mogu varirati od korištenja osnovne for petlje do primjene naprednih metoda iz vanjskih biblioteka kao što je NumPy.
# Initial List A = [12, 8, 6, 10] # Constant to subtract c = 5 # Using list comprehension B = [i - c for i in A]
Gornji isječak koda prvo stvara popis, "A" i konstantu, "c", koja se oduzima od svakog elementa "A". Zatim se uobičajeni idiom Pythona, razumijevanje popisa koristi za oduzimanje "c" od svakog elementa u "A".
Istraživanje razumijevanja popisa
Navedi razumijevanja pružiti sažet način za stvaranje popisa na temelju postojećih popisa. U našem slučaju, koristimo ga za stvaranje novog popisa koji je rezultat operacije (oduzimanja) primijenjene na svakog člana postojećeg popisa.
Sintaksa je poput postavljanja petlje, ali sve je u jednom retku i stvara novi popis. Najosnovniji oblik s našim varijablama bio bi [izraz(a) za a u A]. Prilično je jasno da ovo uzima svaki element "a" na popisu "A" i prosljeđuje ga "izrazu(a)".
Ali također možemo dodati uvjet razumijevanju popisa, čineći ga da se ponaša poput kombinacije for petlje i if naredbe.
Korištenje NumPy za operacije na listama
Kada se radi o velikim skupovima podataka, korištenje ugrađenih Python metoda može biti neučinkovito. U takvim slučajevima Python nudi vanjske biblioteke poput numpy koji su posebno dizajnirani za učinkovitu obradu velikih podataka.
import numpy as np # Using numpy A = np.array(A) B = A - c
Biblioteka NumPy pruža tip objekta koji se naziva niz koji je učinkovitiji i praktičniji za analizu podataka od obične Python liste. Nizovi u NumPyju mogu izvoditi sve standardne operacije kao što su zbrajanje, oduzimanje, množenje itd. na svim elementima odjednom, što može uštedjeti vrijeme kodiranja i vrijeme izvršenja.