
В света на програмирането често има моменти, в които трябва да извършите определена операция върху множество елементи в списък наведнъж, вместо да го правите поотделно. Един такъв пример за тези операции в програмирането на Python може да бъде изваждане на константа от всеки елемент на списък. Този вид операции са често срещани при манипулиране на данни и Python, много гъвкав и ефективен език, има ефективни методи за обработка на такива операции.
Python, интерпретиран език за програмиране на високо ниво с общо предназначение, идва с множество вградени и външни методи и библиотеки за обработка на различни операции върху данните. За изваждане на константа от списък Python предлага няколко подхода. Те могат да варират от използване на основен for цикъл до прилагане на разширени методи от външни библиотеки като NumPy.
# Initial List A = [12, 8, 6, 10] # Constant to subtract c = 5 # Using list comprehension B = [i - c for i in A]
Кодовият фрагмент по-горе първо създава списък „A“ и константа „c“, която да бъде извадена от всеки елемент на „A“. След това, общ идиом на Python, разбиране на списък се използва за изваждане на „c“ от всеки елемент в „A“.
Проучване на разбирането на списъка
Избройте разбирания предоставя кратък начин за създаване на списъци въз основа на съществуващи списъци. В нашия случай ние го използваме, за да създадем нов списък, който е резултат от операция (изваждане), приложена към всеки член на съществуващ списък.
Синтаксисът е малко като настройване на цикъл, но всичко е на един ред и създава нов списък. Най-основната форма с нашите променливи би била [израз (a) за a в A]. Съвсем ясно е, че това взема всеки елемент `a` в списък `A` и го предава на `expression(a)`.
Но можем също така да добавим условие към разбирането на списъка, което го кара да се държи донякъде като комбинация от for цикъл и оператор if.
Използване на NumPy за операции върху списъци
Когато работите с големи набори от данни, използването на вградени методи на Python може да бъде неефективно. В такива случаи Python предоставя външни библиотеки като numpy които са специално проектирани да обработват големи данни по ефективен начин.
import numpy as np # Using numpy A = np.array(A) B = A - c
Библиотеката NumPy предоставя тип обект, наречен масив, който е по-ефективен и удобен за анализ на данни от обикновен списък на Python. Масивите в NumPy могат да изпълняват всички стандартни операции като добавяне, изваждане, умножение и т.н. върху всички елементи наведнъж, което може да спести както време за кодиране, така и време за изпълнение.