Clár ábhair
I gclárú, b'fhéidir go bhfuil liostaí chomh húsáideach mar struchtúr sonraí agus atá eagair. Cad iad na liostaí, conas iad a chruthú? Conas a bheith ag obair le liostaí i Python? Foghlaimeoidh tú faoi seo ónár n-alt.
Cad iad na liostaí i Python?
Is féidir liostaí a shainaithint go páirteach le eagair, ach is é an difríocht agus an buntáiste a bhaineann le liostaí (ar shlí eile tugtar liostaí orthu freisin) gur féidir leo cineálacha éagsúla sonraí a chomhcheangal. Is é sin le rá, osclaíonn an liostú níos mó féidearthachtaí chun seicheamh réad ar bith a stóráil. In athróg, ar a dtugtar liosta, tá tagairt do struchtúr i gcuimhne ina bhfuil tagairtí do struchtúir mhalartacha.
Is éard atá i liosta i Python ná cnuasach ordaithe de réada de chineálacha measctha ar féidir iad a mhodhnú agus a bhféadfadh a réada a bheith difriúil.
Céard is brí leis? Breathnaímis ar an sainmhíniú go mion.
Is féidir méid an liostú a athrú, a laghdú, agus línte nua a chur leis. Is féidir leat struchtúr iomlán an liosta a athrú freisin. Coinnigh i gcuimhne gach uair a úsáidtear modh i liosta, athraítear an liosta bunaidh, ní an chóip.
Ar mhaithe le soiléireacht níos fearr, is féidir leat smaoineamh ar liostú i Python mar liosta de na táirgí is gá a cheannach i siopa. Más rud é, agus plean siopadóireachta á dhéanamh, go bhfuil na nithe riachtanacha go léir suite ceann amháin faoi bhun an chinn eile, agus go bhfuil a líne féin ag gach ceann acu, ansin tá na heilimintí go léir scartha le camóga agus idir lúibíní cearnacha sa liosta i Python ionas gur féidir le Python é sin a thuiscint. tá liosta le fios anseo. Tá na heilimintí faoi iamh i gcomharthaí athfhriotail. Is coinníoll éigeantach é seo, toisc go bhfuil gach eilimint ina líne ar leith.
Bealaí chun liosta a chruthú
Ag bogadh ar aghaidh go dtí an sampla clasaiceach, déanaimis liosta a chruthú a úsáidfimid agus a mhodhnú sa todhchaí. Tá go leor bealaí ann chun liostaí a ghiniúint.
Is é ceann acu an t-iarratas liosta feidhmeanna ionsuite( ). Chun seo a dhéanamh, ní mór duit aon rud is féidir a athrá a phróiseáil (teaghrán, tuple, nó liosta atá ann cheana féin). Sa chás seo, teaghrán.
Seo cad a tharlaíonn sa deireadh:
>>> liosta('liosta') ['c', 'n', 'i', 'c', 'o', 'chuig']
Léiríonn an dara sampla gur féidir le liostaí líon neamhtheoranta de rudaí an-difriúla. Chomh maith leis sin, is féidir leis an liostú fanacht folamh.
>>> s = [] # Liosta folamh >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l['s', 'p' , ['isok'], 2]
Is é an bealach eile, an tríú bealach, chun liostaí a fhoirmiú ná mar a thugtar air gineadóir liostú.
Is tógáil chomhréire é an gineadóir liostála chun liostaí a chruthú. Tá sé cosúil leis an lúb le haghaidh.
>>> c = [ c * 3 le haghaidh c i 'liosta'] >>> c ['llll', 'iii', 'sss', 'ttt']
Is féidir é a úsáid freisin chun struchtúir níos toirtiúla a chruthú:
>>> c = [ c * 3 le haghaidh c i 'list' if c!= 'i'] >>> c ['llll', 'sss', 'ttt'] >>> c = [c + d do c in 'list' if c!= 'i' for d in 'spam' if d!= 'a'] >>> c [ 'ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']
Mar sin féin, ní bhíonn an modh giniúna seo éifeachtach i gcónaí agus illiostaí á dtiomsú. Mar sin, tá sé inmholta for lúb a úsáid chun liostaí a ghiniúint.
Más gá duit tagairt a dhéanamh d’eilimint ar bith ón liosta, úsáidtear innéacsanna ansin. Tá a innéacs féin ag gach eilimint.
Is é an t-innéacs uimhir na heiliminte sa liosta.
Más mian leat an liostú a líonadh le heilimintí athrá, comhionanna, úsáidtear an tsiombail *. Mar shampla, ní mór duit trí uimhir chomhionanna a chur leis an liostú: [100] * 3.
Feidhmeanna liostála
feidhmeanna – b’fhéidir gurb é seo an príomhbhuntáiste atá ag Python thar theangacha ríomhchlárúcháin eile. Is féidir feidhmeanna bunúsacha ionsuite a chur i bhfeidhm ar liostaí.
Smaoinigh ar na cinn is mó tóir orthu:
- liosta(raon( )) – más é an tasc liosta seicheamhach a chruthú, ansin úsáidtear an fheidhm raoin. Tá na foirmeacha seo a leanas ag an bhfeidhm seo:
- raon (deireadh). Úsáidtear é nuair is gá liosta a chruthú ó náid go uimhir chríochta.
- raon (tús, deireadh). Sonraítear na huimhreacha tosaigh agus deiridh araon.
- raon (tús, deireadh, céim). Sonraíonn an paraiméadar céim an tréith roghnúcháin. Mar shampla, más gá duit gach cúigiú uimhir a roghnú as seicheamh ó 1 go 21, beidh cuma ar an liostú a bheidh mar thoradh air: [10,15, 20].
Is féidir leis an bhfeidhm raon méid an chóid a laghdú go suntasach.
- líon (liosta) – ligeann sé duit a fháil amach cé mhéad eilimint atá ar an liosta.
- sórtáilte(liosta, [eochair]) – na rudaí sa liosta a shórtáil in ord ardaitheach.
- uas (liosta) – tugann sé an eilimint is mó ar ais.
- nóim (liosta) – feidhm urchomhaireach – is féidir leat an eilimint leis an luach íosta a thabhairt ar ais.
Is féidir leat feidhmeanna ionsuite eile a úsáid freisin:
- liosta (tuple) – Athraíonn réad tuple go liosta.
- suim(liosta) – suimíonn sé na heilimintí go léir sa liosta más uimhreacha iad na luachanna go léir, baineann sé le slánuimhreacha agus deachúlacha araon. Mar sin féin, ní i gcónaí a fhaigheann sí ceart é. Má tá eilimint neamhuimhriúil sa liosta, caithfidh an fheidhm earráid: “Cineál Earráid: cineál(anna) oibriúcháin nach dtacaítear leo le haghaidh +: ‘int’ agus ‘str’”.
Modhanna Liostála
Fillfimid ar ár liosta earraí le ceannach sa siopa agus glaoimid ar liosta na siopaí:
siopaliosta = []
Ansin, smaoinigh ar na modhanna liostála:
- aguisín (mír) – lena chabhair, is féidir leat eilimint a chur leis an liosta. Sa chás seo, beidh an eilimint nua ag an deireadh.
Líonfaimid ár liostú nua leis na táirgí cearta:
siopaliosta.Aguisín (arán)
siopaliosta.aguisín(bainne)
- liosta.leathnú(A) – cuireann sé “liosta le liosta”. Sábhálann an ghné seo am mar is féidir leat míreanna iolracha a chur leis ag an am céanna. Ligean le rá go bhfuil liosta torthaí againn cheana féin, ní mór dúinn iad a chur leis an bpríomhliosta.
shoplist.extend(torthaí)
- cuir isteach (innéacs, mír) – cuireann sé isteach ar an eilimint leis an innéacs sonraithe an luach sonraithe roimh an innéacs sonraithe.
- lcount(item) – léiríonn sé líon na n-athrá ar an dúil.
- liosta.bain (mír) a mhalairt de fheidhm liosta.cuir (x). Is féidir é a úsáid chun aon eilimint a bhaint. Mura bhfuil an mhír roghnaithe ar an liosta, tuairiscítear earráid.
- pop([innéacs]) – baintear an eilimint roghnaithe agus cuireann ar ais ar an mbealach céanna í. Mura sonraítear an eilimint, baintear an eilimint dheireanach den liosta.
- sórtáil ([eochair]) – cuireann sé na heilimintí sa liostú in ord ardaitheach, ach is féidir leat feidhm a shonrú freisin.
- innéacs(ítim) – taispeánann sé innéacs na chéad eiliminte roghnaithe.
- Is féidir leat an liosta a leathnú, is é sin, a chuid eilimintí go léir a scáthán, ag baint úsáide as an modh droim ar ais(liosta). Éiríonn an eilimint dheireanach ar an gcéad dul síos, déantar an dara eilimint den leathdhéanach, agus mar sin de.
- Cruthaítear cóip den liosta leis an ordú cóip(liosta).
- domhainchóip (liosta) – cóipeáil dhomhain.
- Bain úsáid as an modh seo chun na heilimintí liostála go léir a bhaint soiléir (liosta).
Is fiú a thabhairt faoi deara go bhfuil modhanna liostála difriúil ó mhodhanna teaghrán sa mhéid is go n-athraíonn siad an liosta láithreach, is é sin, ní gá toradh an fhorghníomhaithe a thabhairt ar ais.
>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> print(l) Ceann ar bith
Seo a leanas sampla de bheith ag obair le liostaí:
>>> 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]