
Joseph Goodman
0
4686
1262
Pole a seznamy jsou jedny z nejužitečnějších datových struktur v programování - i když je jich jen málo lidí plně využívá. Dnes si promluvím základy, spolu s několika jednoduchými příklady Pythonu.
Předpoklady
Není toho mnoho, co byste měli vědět předem, abyste se mohli naučit tyto pojmy. Základní znalost programovacích paradigmat a Pythonu bude užitečná, ale není to nutné. Přečtěte si naše základní příklady Pythonu 10 základních příkladů Pythonu, které vám pomohou rychle se naučit 10 Základní příklady Pythonu, které vám pomohou rychle se naučit Tento článek základních příkladů Pythonu je určen těm, kteří již mají nějaké zkušenosti s programováním a jednoduše chtějí přejít na Python tak rychle, jak možný. pokud nevíte, kde začít. Pokud si myslíte, že Python je k ničemu, podívejte se na naše důvody, proč to není 5 důvodů, proč není Python programování zbytečné 5 důvodů, proč Python programování není k ničemu Python - buď to milujete, nebo ho nenávidíte. Můžete dokonce houpat z jednoho konce na druhý jako kyvadlo. Bez ohledu na to, Python je jazyk, o kterém je těžké být ambivalentní. .
Zatímco následující základní myšlenky lze aplikovat na jakýkoli jazyk, ukážu příklady v Pythonu. Je to snadný jazyk pro učení a poskytuje vynikající platformu pro pochopení toho, co se děje. Kromě toho poskytuje tutorialspoint.com vynikajícího online interpretu Pythonu - nemusíte ani instalovat Python, pokud si to nepřejete (pokud ano, podívejte se do našeho průvodce virtuálním prostředím Naučte se, jak používat Python Virtual Prostředí Naučte se, jak používat virtuální prostředí Python Ať už jste zkušený vývojář Pythonu, nebo se teprve začínáte, naučit se, jak nastavit virtuální prostředí, je zásadní pro každý projekt Python.).
Datové struktury
Co je to? datová struktura? Na své nejzákladnější úrovni je datová struktura způsobem účinného ukládání dat. Je snadné se zmást, protože datové struktury nejsou typy dat. Typy dat sdělují kompilátoru (nebo v případě Pythona interpretovi), jak mají být data použita. Datové struktury specifikují operace, které lze provádět, a často implementují specifická pravidla a předpisy.
Možná jste o něčem slyšeli lineární datové typy (prvky jsou sekvenční):
- Pole
- Matrice
- Vyhledávací tabulka
Podobně, seznamy často obsahují pravidla a metody pro regulaci jejich fungování. Některé běžné seznamy jsou:
- Spojový seznam
- Seznam dvojitě propojených
- Seznam polí nebo dynamické pole
Existuje celá řada různých datových struktur. Možná jste už slyšeli binární stromy, grafy, nebo hashe. Dnes budu diskutovat o základech, ale možná se budete chtít dozvědět více, až budete spokojeni.
Pole
Začněme od začátku. Pole je jednoduchá sbírka (souvisejících) hodnot. Tyto hodnoty se nazývají prvky. Většinou to může být jakýkoli typ dat, který se vám líbí, včetně objektů nebo jiných seznamů! Hlavní upozornění s poli je, že všechna data musí být stejná - nemůžete ukládat smíšené řetězce a celá čísla. Vy téměř vždy musíte určit, kolik prvků chcete uložit. Variabilní velikost nebo dynamická pole existují, ale pole s pevnou délkou je jednodušší začít.
Python věci poněkud komplikuje. Je to pro vás velmi snadné, ale ne vždy se drží přísných definic datových struktur. Většina objektů v Pythonu jsou obvykle seznamy, takže vytvoření pole je ve skutečnosti více práce. Tady je nějaký startovací kód:
z importu čísel polí = pole ('i', [2, 4, 6, 8]) čísla tisku [0]
První řádek importuje pole modul - to je vyžadováno pro práci s poli. Druhý řádek vytvoří nové pole s názvem čísla a inicializuje ji hodnotami 2, 4, 6 a 8. Každému prvku je přiřazen znak celé číslo hodnota zvaná a klíč nebo index. Klíče začínají na nula, tak čísla [0] zpřístupní první prvek (2):
Možná vás zajímá, co „já“ se používá pro. Toto je typový kód to říká Pythonu, že pole bude ukládat celá čísla. Taková věc by v Pythonu za normálních okolností nepotřebovala (bylo by to zvažováno “netypický”). Důvod je jednoduchý. Pole v Pythonu jsou velmi tenký obal na základních polích C vašeho operačního systému. To znamená, že jsou rychlé a stabilní, ale nemusí vždy dodržovat syntaxi Pythonu.
Do těchto polí nelze ukládat smíšené typy. Řekněme, že jste chtěli řetězec uložit “makeuseof.com”:
čísla = pole ('i', [2, 4, 6, "makeuseof.com"])
To nebude povoleno a vyvolá výjimku:
Takto můžete vytisknout všechny prvky:
tisk čísel
Tento způsob přístupu k prvkům pole funguje dobře a je ideální pro správný úkol. K čemu to není dobré, je přístup k celé řadě. Programátoři jsou ze své podstaty líní, takže naštěstí budu psát více, lepší kód, pokud to znamená, že mohu usnadnit údržbu a snížit úsilí při kopírování a vkládání.
Každý programovací jazyk bude implementovat smyčku nějakého druhu, která je ideální pro iteraci (opakování) nad elementy seznamu. Nejběžnější smyčky jsou zatímco a pro. Python dělá věci ještě jednodušší poskytnutím pro v smyčka:
pro číslo v číslech: vytiskněte číslo
Všimněte si, jak jste nemuseli přistupovat k elementům podle jejich klíče. Toto je mnohem lepší způsob práce s maticí. Alternativní způsob, jak iterovat seznam je s pro smyčka:
pro i v rozsahu (len (čísla)): tisknout čísla [i]
To dělá přesně to samé jako v předchozím příkladu, přestože jste museli určit počet prvků v poli (len (auta)), spolu s projížděním i jako klíč k poli. To je téměř přesně ten kód pro v smyčky běží. Tento způsob poskytuje o něco větší flexibilitu a je o něco rychlejší (i když pro v smyčky jsou více než dostatečně rychlé většina času.)
Seznamy
Nyní, když víte, jak pole fungují, pojďme se podívat na seznam. Někdy to může být matoucí, protože lidé používají různé terminologie zaměnitelně a seznamy jsou pole ... druh.
Seznam je speciální typ pole. Největší rozdíl je v tom, že seznamy mohou obsahovat smíšený typy (pamatujte, pole musí obsahovat prvky stejného typu). Seznamy jsou v Pythonu velmi snadné:
cars = ['Ford', 'Austin', 'Lancia']
Všimněte si, jak nemusíte importovat pole modul?
Tato syntaxe deklaruje seznam nazvaný auta. Uvnitř hranatých závorek je deklarován každý prvek seznamu. Každý prvek je oddělen čárkou a protože je každý řetězec, deklarujete je uvnitř uvozovek. Python ví, že se jedná o objekt, takže vytisknout příkaz vydá obsah seznamu:
tisk aut
Stejně jako u pole můžete iterovat prvky seznamu pomocí smyček:
pro auto v autech: tisk auto
Skutečný party trik seznamů je jejich smíšený typ. Pokračujte a přidejte další data:
cars = ['Ford', 'Austin', 'Lancia', 1, 0,56]
Pro Python to není žádný problém - ani to nevytvářelo výjimku:
Je snadné přidat do seznamu nové prvky (u polí není možné):
cars = ['Ford', 'Austin'] tisknout auta cars.append ('Lancia') tisknout auta
Můžete také sloučit dva seznamy do jednoho:
cars = ['Ford', 'Austin'] print cars other_cars = ['Lotus', 'Lancia'] cars.extend (other_cars) print cars
Je stejně snadné odstranit prvky pomocí odstranit syntax:
cars = ['Ford', 'Austin', 'Lotus', 'Lancia'] print cars cars.remove ('Ford') print cars
To se týká základů seznamů a polí v Pythonu. Proč neuvažovat o projektu kódování, jako je čtení a zápis do Tabulek Google Jak číst a zapisovat do Tabulek Google s Pythonem Jak číst a psát do Tabulek Google s Pythonem Python se může zdát podivný a neobvyklý, nicméně je snadné se ho naučit a používat . V tomto článku vám ukážu, jak číst a psát do Tabulek Google pomocí Pythonu. , čtení dat json Jak získat Python a JavaScript pro komunikaci pomocí JSON Jak získat Python a JavaScript pro komunikaci pomocí JSON Dnes vám ukážu, jak pomocí JSON posílat data z JavaScriptu do Pythonu. Pokryju, jak nastavit webový server, spolu se všemi potřebnými kódy. . Možná byste mohli dát své nové dovednosti k použití vytváření vlastních klávesových zkratek Vytvořte si vlastní klávesové zkratky s Arduino Vytvořte si vlastní klávesové zkratky s Arduino Pokorný Arduino může dělat spoustu věcí, ale věděli jste, že to může napodobit USB klávesnice? S tímto jednoduchým obvodem byste mohli spojit dlouhé klávesové zkratky do jednoho vlastního klávesového zkratky. . Přestože se jedná o odlišný programovací jazyk, tyto zásady pole stále platí.
Naučili jste se něco nového? Chtěli byste vidět nějaký komplikovanější obsah? Sdělte nám své myšlenky v komentářích níže!