U svijetu programiranja često postoje slučajevi u kojima morate izvršiti određenu operaciju na više stavki na listi odjednom, umjesto da je radite pojedinačno. Jedan takav primjer ovih operacija u Python programiranju može biti oduzimanje konstante od svakog elementa liste. Ova vrsta operacija je uobičajena u manipulaciji podacima, a Python, veoma svestran i efikasan jezik, ima efikasne metode za rukovanje takvim operacijama.
Python, interpretirani, programski jezik visokog nivoa, opšte namene, dolazi sa mnoštvom ugrađenih i eksternih metoda i biblioteka za rukovanje različitim operacijama nad podacima. Za oduzimanje konstante sa liste, Python nudi nekoliko pristupa. One mogu biti u rasponu 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]
Isječak koda iznad prvo kreira listu, `A`, i konstantu, `c`, koja se oduzima od svakog elementa `A`. Zatim, uobičajeni Python Idiom, razumijevanje liste se koristi za oduzimanje `c` od svakog elementa u `A`.
Istraživanje razumijevanja liste
Navedi saznanja pružaju sažet način za kreiranje lista na osnovu postojećih lista. U našem slučaju, koristimo ga za kreiranje nove liste koja je rezultat operacije (oduzimanja) primijenjene na svaki član postojeće liste.
Sintaksa je poput postavljanja petlje, ali sve je u jednom redu i proizvodi novu listu. Najosnovniji oblik sa našim varijablama bi bio [izraz(a) za a u A]. Prilično je jasno da ovo uzima svaki element `a` na listi `A` i prosljeđuje ga `izrazu(a)`.
Ali također možemo dodati uvjet razumijevanju liste, čineći da se ponaša kao kombinacija 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 neefikasno. U takvim slučajevima, Python nudi eksterne biblioteke kao što su numpy koji su posebno dizajnirani za rukovanje velikim podacima na efikasan način.
import numpy as np # Using numpy A = np.array(A) B = A - c
Biblioteka NumPy pruža tip objekta koji se zove niz koji je efikasniji i pogodniji za analizu podataka od obične Python liste. Nizovi u NumPy-u mogu izvoditi sve standardne operacije kao što su sabiranje, oduzimanje, množenje itd. na svim elementima odjednom, što može uštedjeti i vrijeme kodiranja i vrijeme izvršenja.