Lëschten (Lëscht) am Python. Lëscht Funktiounen a Methoden

Beim Programméiere si Lëschte vläicht esou nëtzlech eng Datestruktur wéi Arrays. Wat sinn Lëschten, wéi se erstellen? Wéi schaffe mat Lëschten am Python? Dir wäert iwwer dëst aus eisem Artikel léieren.

Wat sinn Lëschten am Python?

Lëschten (Lëscht) am Python. Lëscht Funktiounen a Methoden
Python Daten Zorte: Lëschte

Lëschte kënnen deelweis mat Arrays identifizéiert ginn, awer den Ënnerscheed an de Virdeel vun Oplëschtungen (soss ginn se och Oplëschtungen genannt) ass datt se verschidden Datentypen kombinéiere kënnen. Dat ass, d'Lëscht mécht méi Méiglechkeeten op fir all Sequenz vun Objeten ze späicheren. Eng Variabel, eng Lëscht genannt, enthält eng Referenz op eng Struktur an der Erënnerung déi Referenzen op alternativ Strukturen enthält.

Eng Lëscht am Python ass eng bestallt Sammlung vun Objete vu gemëschten Typen, déi geännert kënne ginn an deenen hir Objete kënnen ënnerschiddlech sinn.

Wat heescht dat? Loosst eis d'Definitioun am Detail kucken.

D'Gréisst vun der Oplëschtung kann geännert ginn, reduzéiert, nei Linnen derbäigesat ginn. Dir kënnt och déi ganz Struktur vun der Lëscht änneren. Denkt drun datt all Kéier wann eng Method an enger Lëscht benotzt gëtt, gëtt d'Original Lëscht geännert, net d'Kopie.

Fir méi Kloerheet kënnt Dir un eng Lëscht am Python denken als eng Lëscht vu Produkter déi an engem Geschäft kaaft musse ginn. Wann, wann Dir en Akafsplang mécht, all déi néideg Saache sinn ënnerteneen, a jidderee vun hinnen huet seng eege Linn, dann enthält d'Lëscht am Python all d'Elementer getrennt duerch Kommaen an an de Quadratklammern, sou datt de Python dat kann verstoen eng Lëscht gëtt hei uginn. D'Elementer sinn an Zitatzeechen zougemaach. Dëst ass eng obligatoresch Bedingung, well all Element eng separat Linn ass.

Weeër fir eng Lëscht ze kreéieren

Gitt op dat klassescht Beispill weider, loosst eis eng Lëscht erstellen déi mir an Zukunft benotzen an änneren. Et gi verschidde Weeër fir Lëschten ze generéieren.

Ee vun hinnen ass d'Applikatioun agebaute Funktiounslëscht (). Fir dëst ze maachen, musst Dir all Objet veraarbecht deen iteréiert ka ginn (e String, en Tupel oder eng existent Lëscht). An dësem Fall, eng String.

Hei ass wat um Enn geschitt:

>>> Lëscht('Lëscht') ['c', 'n', 'i', 'c', 'o', 'zu']

Dat zweet Beispill weist datt Lëschte eng onlimitéiert Zuel vu ganz verschiddenen Objeten enthalen kënnen. Och d'Oplëschtung kann eidel bleiwen.

>>> s = [] # Eidel Lëscht >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Déi nächst, drëtt Manéier fir Oplëschtungen ze bilden ass de sougenannte Oplëschtung Generator.

Den Oplëschtungsgenerator ass e syntakteschen Konstrukt fir Oplëschtungen ze kreéieren. Et ass ähnlech wéi de For Loop.

>>> c = [c * 3 fir c an 'Lëscht'] >>> c ['lll', 'iii', 'sss', 'ttt']

Et kann och benotzt ginn fir méi voluminös Strukturen ze kreéieren:

>>> c = [c * 3 fir c an 'Lëscht' wann c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d fir c an 'Lëscht' wann c != 'i' fir d an 'Spam' wann d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Wéi och ëmmer, dës Generatiounsmethod ass net ëmmer effizient wann Dir verschidde Lëschte kompiléiert. Dofir ass et unzeroden e For Loop ze benotzen fir Oplëschtungen ze generéieren.

Wann Dir op all Element aus der Lëscht referéiert musst, da ginn Indexen benotzt. All Element huet säin eegene Index.

Den Index ass d'Zuel vum Element an der Lëscht.

Wann Dir d'Lëscht mat widderhuelende, identeschen Elementer wëllt fëllen, gëtt d'Symbol * benotzt. Zum Beispill musst Dir dräi identesch Zuelen op d'Lëscht addéieren: [100] * 3.

Oplëschtung Funktiounen

Funktiounen - dëst ass vläicht den Haaptvirdeel vum Python iwwer aner Programméierungssproochen. Basis agebaute Funktiounen kënnen op Lëschte applizéiert ginn.

Bedenkt déi populärste vun hinnen:

  • Lëscht (Gamme ()) - wann d'Aufgab ass eng sequentiell Lëscht ze kreéieren, da gëtt d'Bandfunktioun benotzt. Dës Funktioun huet déi folgend Formen:
  1. Beräich (Enn). Et gëtt benotzt wann et néideg ass eng Oplëschtung vun Null op eng endlech Zuel ze kreéieren.
  2. Beräich (Start, Enn). Souwuel Start an Enn Zuelen sinn uginn.
  3. Beräich (Start, Enn, Schrëtt). De Schrëttparameter spezifizéiert d'Auswielcharakteristik. Zum Beispill, wann Dir all fënneft Zuel vun enger Sequenz vun 1 bis 21 auswielen musst, da gesäit déi resultéierend Oplëschtung esou aus: [10,15, 20].

D'Gamme Funktioun kann de Betrag vum Code wesentlech reduzéieren.

  • Flax (Lëscht) - erlaabt Iech erauszefannen wéivill Elementer an der Lëscht sinn.
  • sortéiert (Lëscht, [Schlëssel]) - sortéiert d'Objeten an der Lëscht an opsteigend Uerdnung.
  • max (Lëscht) - gëtt de gréissten Element zréck.
  • min (Lëscht) - Géigewier Funktioun - erlaabt Iech d'Element mat de Minimum Wäert zréck.

Dir kënnt och aner agebaute Funktiounen benotzen:

  • Lëscht (Tuppel) - Konvertéiert en Tupelobjekt op eng Lëscht.
  • Zomm (Lëscht) - summéiert all Elementer an der Lëscht wann all Wäerter Zuelen sinn, gëllt fir ganz Zuelen an Dezimaler. Si kritt et awer net ëmmer richteg. Wann et en net numerescht Element an der Lëscht ass, wäert d'Funktioun e Feeler werfen: "TypeError: net ënnerstëtzten Operand Typ(en) fir +: 'int' an 'str'".

Oplëschtung Methoden

Lëschten (Lëscht) am Python. Lëscht Funktiounen a Methoden
Lëscht vun Python Methoden

Loosst eis zréck op eis Lëscht vun Artikelen fir am Geschäft ze kafen a nennen et Shoplist:

Shoplist = []

Als nächst, betruecht d'Oplëschtungsmethoden:

  • anhang (Artikel) - mat senger Hëllef kënnt Dir en Element op d'Lëscht setzen. An dësem Fall wäert dat neit Element um Enn sinn.

Loosst eis eis nei Lëscht mat de richtege Produkter ausfëllen:

shoplist.append(Brout)

shoplist.append(Mëllech)

  • Lëscht.verlängeren (A) - füügt "Lëscht op d'Lëscht". Dës Fonktioun spuert Zäit well Dir méi Elementer zur selwechter Zäit derbäi kënnt. Loosst eis soen datt mir schonn eng Lëscht vun Uebst hunn, mir mussen se an d'Haaptlëscht addéieren.

shoplist.extend(fruits)

  • insert(Index, Artikel) - setzt op d'Element mam spezifizéierten Index de spezifizéierte Wäert virum spezifizéierten Index.
  • lcount (Artikel) - weist d'Zuel vun de Wiederholungen vum Element.
  • Lëscht.ewechhuelen (item) ass déi Géigendeel Funktioun Lëscht.appendéieren (x). Et kann benotzt ginn fir all Element ze läschen. Wann de gewielten Element net an der Lëscht ass, gëtt e Feeler gemellt.
  • pop([index]) - läscht dat ausgewielten Element a bréngt et op déiselwecht Manéier zréck. Wann d'Element net spezifizéiert ass, da gëtt dat lescht Element aus der Lëscht geläscht.
  • sortéieren ([Schlëssel]) - setzt d'Elementer an der Oplëschtung an opsteigend Uerdnung, awer Dir kënnt och eng Funktioun uginn.
  • Index (Artikel) - weist den Index vum éischten ausgewielten Element.
  • Dir kënnt d'Lëscht ausbauen, dat heescht, all seng Elementer spigelen, mat der Method ëmgedréint (Lëscht). Dat lescht Element gëtt dat éischt, dat virläscht Element gëtt dat zweet, a sou weider.
  • Eng Kopie vun der Lëscht gëtt mam Kommando erstallt kopéieren (Lëscht).
  • deepcopy (Lëscht) - déif Kopie.
  • Ewechzehuelen all Oplëschtung Elementer mat der Method kloer (Lëscht).

Et ass derwäert ze bemierken datt d'Oplëschtungsmethoden vun de Stringmethoden ënnerscheeden datt se d'Lëscht direkt änneren, dat heescht datt et net néideg ass d'Resultat vun der Ausféierung zréckzekommen.

>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> Drécken(l) Keen

Déi folgend ass e Beispill fir mat Lëschten ze schaffen:

>>> a = [66.25, 333, 333, 1, 1234.5] >>> print(a.count(333), a.count(66.25), a.count('x')) 2 1 0 >>> a.insert(2, -1) >>> a.append(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]

Hannerlooss eng Äntwert