Pythonové pole

Python je vysoce programovatelný univerzální jazyk. Podporuje nejen OOP, ale také strukturální, funkční, imperativní, orientované na aspekty programování. Standardní knihovna obsahuje mnoho nástrojů pro práci se síťovými protokoly, kódování textu, multimediálních formátů krossplatformennyh pro vývoj aplikací.

Pole „Python“

jednorozměrné pole je seznam položek.
Hodnota seznamu je označena hranatými závorkami [], oddělenými čárkami. Každá položka se nazývá podle indexu. Prvky mohou být přiřazeny nové hodnoty. Vypadá to, že prázdný seznam:
  • = []
  • Pole řetězců "Python" je následující:
  • Prime = ['string1', 'řetězec2', 'string3']
  • Prime [1 ] = 'řetězec2'; //true
  • Funkce len () vrací počet položek v seznamu.
  • len (Prime) == 4; //true
  • Pro elementy smyčkového pole se použije smyčka pro. Její rozdíl od Pascala spočívá v tom, že načte prvky, nikoliv jejich indexy.
  • pro elem v [1, 4, 67]
  • Pro vytvoření generátoru plnící cyklus se používá seznamy. Zaznamenává se jako [hodnota pole pro název proměnné v počtu prvků]; Dvourozměrné pole v "Pythonu" je vytvořeno pomocí vnořených generátorů. Podívejte se, že je přibližně následující:
  • [[0 pro j v rozsahu (m)] pro i v rozsahu (n)]
  • Tvorba pole v NumPy

    pro vytváření a úpravy polí „Python "používá knihovnu NumPy.
    Podporuje multidimenzionální pole a matici s velkou sadoubalíčky pro řešení matematických problémů. Rovněž poskytuje práci s homogenními multidimenzionálními maticemi a matricemi. Abyste mohli používat funkce tohoto balíčku, musíte je importovat.


  • import numpy jako np
  • Jedním z nejjednodušších způsobů, jak určit řadu "Python" - pomocí pole (). Vytvoří objekt jako ndarray.
  • np.array = array (/* soubor prvků * /)
  • Nyní je typ pole ndarray. To lze ověřit pomocí funkce array.type (). Jako argument argumentovala názvem vytvořeného pole. Zpětná odpověď -. Chcete-li tento typ přepsat, je třeba v okamžiku vytvoření použít příkaz dtype = np.complex.
  • array2 = np.array ([/* prvky * /, dtype = np.complex)
  • Pokud Nuzhny Zadat panely, ale ego prvků v tomto neyzvestnы fázích, na zapolnyaetsya funkce vynuluje nuly (). Můžete vytvořit pole jednotek s funkcí one (). Počet vnořených polí a počet prvků uvnitř jsou přijaty jako argumenty.


  • np.zeros (222)
  • vytvořit dvě pole uvnitř každé obsahující dva prvky.
  • pole ([
  • [[0, 0]]
  • [[0, 0]]]
  • )
  • se pole na obrazovce, který se používá funkce print (). Pokud je pole příliš velké pro utěsnění, NumPy skrývá centrální část a zobrazí pouze extrémní hodnoty. Chcete-li vidět celé pole, použije se funkce set_printoptions (). Ve výchozím nastavení se zobrazí pouze prvních 1000 položek. Tato hodnota je označena jako argument s prahem klíčového slova.

    Základní operace NumPy

    Každá manipulace s prvky pole v „Python“ zajistit vytvoření nového pole.
    Vytvořené poleobsahuje prvky získané v důsledku některých činností na nich. Políčka mohou interagovat pouze tehdy, když mají stejnou velikost. Například:
  • array1 = np.array ([[1, 2, 3], [1, 2, 3]])
  • array2 = np.array ([[1, 2, 3] [1, 2, 3], [1, 2, 3]])
  • Při provádění array1 + array2 kompilátor chybové protože velikost prvního array2 a druhý - 3
  • array1 = np .array ([1, 2, 5, 7])
  • array2 = arange ([1, 5, 1])
  • pole1 + array2 vrací pole 248 prvků 11. Tato chyba nedojde, protože velikost dvou je stejná. Místo ručního přidání, můžete použít tuto část třídy ndarray částky ().
  • np.array (array1 + array1) == pole1 + pole2
  • ndarray třída poskytuje rozsáhlou knihovnu metod pro matematické operace. Jsou specifikovány jako np.image metody (název proměnné).

    Forma

    Velikost pole v poli "Python" určuje tvar. Metoda form () se používá ke kontrole aktuálního formuláře.
    Pole s dvěma a třemi prvky má tvar (223). Změní se, pokud zadáte argumenty ve tvaru (). Jako první číslo bude použito podmassyvov druhý - podmassyva každý rozměr. Stejnou operaci provede funkce re-shape (). Jeho parametry určují počet řádků a sloupců. Existují metody pro manipulaci s formulářem. Například ravel () multidimenzionálního pole dělá jednorozměrné, vytváří vnitřní hodnoty v krocích důsledně. Funkce transpose () mění řádky a sloupce vícerozměrného pole.

    Střihy

    Často musíte pracovat ne s celým polem, ale pouze s některými jeho prvky. Pro tyto účely má Python metodu Slice. Přišel nahradit zápasprvky smyčky pro.
    Metoda otevírá široké možnosti získání kopie pole v "Pythonu". Všechny manipulace jsou prováděny jako [start: stop: step]. Hodnota startu označuje index prvku, ze kterého začíná odpočítávání, hodnota stop je posledním prvkem, velikost kroku je počet vynechaných prvků pro každou iteraci. Ve výchozím nastavení je počátek nula, tj. Počítání začíná nulovým prvkem v seznamu, stop je index posledního prvku seznamu, krok se rovná jednomu, tj. Se pohybuje každý z nich. Pokud předáte funkci bez argumentů, seznam bude zkopírován od začátku do konce. Například máme pole:
  • mas = [1, 2, 3, 4]
  • Pro kopírování používáme mas [:]. Funkce vrací sekvenci prvků [1, 2, 3, 4]. Pokud je argument zápornou hodnotou, například -3, funkce vrátí položky s indexy od třetí do poslední.
  • mas [-3]; //
  • Po dvojitém dvojtečce je označen krok prvků zkopírovaných do pole. Například mas [:: 2] vrací pole [1, 3]. Pokud je záporná hodnota označena, například [:: - 2], odpočítávání začíná koncem a dostaneme [3, 1]. Metoda řezu umožňuje flexibilně pracovat s vnořenými seznamy. Pro dvojrozměrné pole v "Pythonu" [:, 2] se rozumí, že se vrátí každý třetí prvek všech polí. Pokud zadáte [: 2] - vrátí se první dva.

    Kopírování

    Získání kopie se provádí pomocí výše popsaných řezů. V Pythonu kopírování pomocí přiřazení nefunguje, protože tímto způsobem nejsou přenášeny objekty, ale pouze odkaz. To znamená, že vytvořením pole odhodnoty np.arange
  • a přiřazení array2 = array1 získáme dva objekty se stejnými hodnotami, ale různými názvy, v tomto případě array1 a array2. Změna tvaru jednoho z nich ovlivní druhou. Funkce array1.shape (3 4) se změní z pole array2.

  • array1.shape () == (3 4); //true
  • array2.shape () == (3 4); () vytvoří různé objekty se stejnými daty. Například máme nějaké pole pole, které používáme view ()
  • array.view ()
  • Tato hodnota přiřadí druhé pole pole2 a vidíme, že se jedná o různé objekty, ale mají stejné údaje. Zkontrolujeme:
  • array2 je pole1; //false
  • Pokud změníme formu jedné z polí, nezmění se ve druhém.
  • array1.shape (2 6)
  • array1 == array2; //true
  • Kombinace, oddíl

    Pole mohou být spojeny dohromady. To se provádí podél os a řádků. Funkce hstack () je kombinuje v řádcích a sloupec () () v sloupcích. Funkce column_stack () může kombinovat pole v jednorozměrných argumentech. Podobně column_stack () funguje row_stack (), ale kombinuje řádky, ne sloupce. Chcete-li pole rozdělit vodorovně, použije se funkce hsplit () a vertikálně se použije vsplit ().

    Související publikace