Lis (lis) nan Python. Lis Fonksyon ak Metòd

Nan pwogramasyon, lis yo petèt osi itil yon estrikti done kòm etalaj. Ki sa ki lis, ki jan yo kreye yo? Ki jan yo travay ak lis nan Python? Ou pral aprann sou sa a nan atik nou an.

Ki sa ki lis nan Python?

Lis (lis) nan Python. Lis Fonksyon ak Metòd
Kalite Done Python: Lis

Lis yo ka pasyèlman idantifye ak etalaj, men diferans lan ak avantaj nan lis (otreman yo rele yo tou lis) se ke yo ka konbine diferan kalite done. Sa vle di, lis la ouvè plis posiblite pou estoke nenpòt sekans objè yo. Yon varyab, yo rele yon lis, gen yon referans a yon estrikti nan memwa ki gen referans a estrikti altènatif.

Yon lis nan Python se yon koleksyon òdone objè nan kalite melanje ki ka modifye epi ki gen objè yo ka diferan.

Sa sa vle di? Ann pran yon gade nan definisyon an an detay.

Ka gwosè a nan lis la dwe chanje, redwi, nouvo liy ajoute nan li. Ou kapab tou chanje tout estrikti lis la. Kenbe nan tèt ou ke chak fwa yo itilize yon metòd nan yon lis, lis orijinal la chanje, pa kopi a.

Pou pi klè, ou ka panse a yon lis nan Python kòm yon lis pwodwi ki bezwen achte nan yon magazen. Si, lè w ap fè yon plan fè makèt, tout atik ki nesesè yo sitiye youn anba lòt, epi chak nan yo gen pwòp liy pa yo, Lè sa a, lis la nan Python gen tout eleman ki separe pa vigil ak parantèz kare pou Python ka konprann sa. yon lis endike isit la. Eleman yo fèmen nan guillemets. Sa a se yon kondisyon obligatwa, paske chak eleman se yon liy separe.

Fason yo kreye yon lis

Ale nan egzanp klasik la, ann kreye yon lis ke nou pral itilize ak modifye nan tan kap vini an. Gen plizyè fason pou jenere lis.

Youn nan yo se aplikasyon an lis fonksyon entegre (). Pou fè sa, ou bezwen trete nenpòt objè ki ka repete (yon fisèl, yon tuple, oswa yon lis ki deja egziste). Nan ka sa a, yon fisèl.

Men sa k ap pase nan fen a:

>>> lis('lis') ['c', 'n', 'i', 'c', 'o', 'a']

Dezyèm egzanp lan montre ke lis yo ka genyen yon kantite illimité objè trè diferan. Epitou, lis la ka rete vid.

>>> s = [] # Lis vid >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Pwochen, twazyèm, fason pou fòme lis se sa yo rele dèlko lis.

Dèlko lis la se yon konstriksyon sentaktik pou kreye lis. Li sanble ak bouk for.

>>> c = [c * 3 pou c nan 'lis'] >>> c ['lll', 'iii', 'sss', 'ttt']

Li kapab tou itilize yo kreye estrikti plis volumineuz:

>>> c = [c * 3 pou c nan 'lis' si c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d pou c nan 'list' si c != 'i' pou d nan 'spam' si d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Sepandan, metòd jenerasyon sa a pa toujou efikas lè w ap konpile plizyè lis. Se poutèt sa, li se rekòmande yo sèvi ak yon bouk pou jenere lis.

Si ou bezwen refere a nenpòt eleman nan lis la, Lè sa a, endèks yo itilize. Chak eleman gen endèks pwòp li yo.

Endèks la se nimewo eleman ki nan lis la.

Si ou vle ranpli lis la ak repete, eleman ki idantik, yo itilize senbòl * la. Pou egzanp, ou bezwen ajoute twa nimewo idantik nan lis la: [100] * 3.

Lis fonksyon

fonksyon – sa a se petèt avantaj prensipal Python sou lòt langaj pwogramasyon. Fonksyon debaz entegre yo ka aplike nan lis.

Konsidere ki pi popilè nan yo:

  • lis (ranje ()) – si travay la se kreye yon lis sekans, Lè sa a, fonksyon an ranje yo itilize. Fonksyon sa a gen fòm sa yo:
  1. ranje (fen). Li itilize lè li nesesè pou kreye yon lis soti nan zewo rive nan yon nonb fini.
  2. ranje (kòmanse, fini). Tou de nimewo kòmansman ak fen yo espesifye.
  3. ranje (kòmanse, fen, etap). Paramèt etap la espesifye karakteristik seleksyon an. Pou egzanp, si ou bezwen chwazi chak senkyèm nimewo nan yon sekans soti nan 1 a 21, Lè sa a, lis la ki kapab lakòz ap sanble: [10,15, 20].

Fonksyon ranje a ka siyifikativman redwi kantite kòd.

  • lin (lis) – pèmèt ou chèche konnen konbyen eleman ki nan lis la.
  • klase (lis, [kle]) – klase objè yo nan lis la nan lòd monte.
  • max (lis) – retounen pi gwo eleman.
  • min (lis) – fonksyon opoze – pèmèt ou retounen eleman ki gen valè minimòm lan.

Ou kapab tou itilize lòt fonksyon entegre:

  • lis (tiple) – Konvèti yon objè tuple nan yon lis.
  • sòm (lis) – sòm tout eleman nan lis la si tout valè yo se nimewo, aplike a tou de nonm antye ak desimal. Sepandan, li pa toujou jwenn li dwat. Si gen yon eleman ki pa nimerik nan lis la, fonksyon an pral voye yon erè: "TypeError: ki pa sipòte kalite operand (yo) pou +: 'int' ak 'str'".

Lis Metòd

Lis (lis) nan Python. Lis Fonksyon ak Metòd
Lis Metòd Python

Ann tounen nan lis atik nou yo achte nan magazen an epi rele li boutik:

lis boutik = []

Apre sa, konsidere metòd lis yo:

  • ajoute (atik) – avèk èd li, ou ka ajoute yon eleman nan lis la. Nan ka sa a, eleman nan nouvo yo pral nan fen an.

Ann ranpli nouvo lis nou an ak bon pwodwi yo:

shoplist.append(pen)

shoplist.append(lèt)

  • lis.pwolonje(A) - ajoute "lis nan lis". Karakteristik sa a ekonomize tan paske ou ka ajoute plizyè atik an menm tan. Ann di nou deja gen yon lis fwi, nou bezwen ajoute yo nan lis prensipal la.

shoplist.extend (fwi)

  • insert (endèks, atik) – mete sou eleman ki gen endèks la espesifye valè a espesifye anvan endèks la espesifye.
  • konte (atik) – montre kantite repetisyon eleman an.
  • lis.retire(atik) se fonksyon opoze a lis.mete (x). Li ka itilize pou retire nenpòt eleman. Si atik la chwazi a pa nan lis la, yo rapòte yon erè.
  • pòp([endèks]) – retire eleman chwazi a epi retounen li menm jan an. Si eleman nan pa espesifye, Lè sa a, dènye eleman an retire nan lis la.
  • sòt([kle]) – mete eleman yo nan lis la nan lòd monte, men ou ka tou presize yon fonksyon.
  • endèks (atik) – montre endèks premye eleman chwazi a.
  • Ou ka elaji lis la, se sa ki, glas tout eleman li yo, lè l sèvi avèk metòd la ranvèse (lis). Dènye eleman an vin premye a, penultyèm eleman an vin dezyèm lan, elatriye.
  • Yon kopi lis la kreye ak lòd la kopi (lis).
  • deepcopy (lis) - kopi fon.
  • Retire tout eleman lis lè l sèvi avèk metòd la klè (lis).

Li se vo anyen ke metòd lis diferan de metòd fisèl yo ke yo imedyatman chanje lis la, se sa ki, pa gen okenn bezwen retounen rezilta a nan ekzekisyon.

>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> enprime(l) Okenn

Sa ki anba la a se yon egzanp travay ak lis:

>>> 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) >>> yon [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > yon.retire (333) >>> yon [66.25, -1, 333, 1, 1234.5, 333] >>> yon.reverse () >>> yon [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort() >>> yon [-1, 1, 66.25, 333, 333, 1234.5]

Kite yon Reply