Koleksionet

Në mësimin e mëparshëm, ne kemi përdorur një tuple për të kryer disa komanda (llogaritjen dhe shtypjen) mbi secilën vlerë nga tuple duke përdorur loop for.

Tuples janë gjithashtu një lloj i të dhënave në Python, të tilla si numrat, vargjet ose vlerat logjike. Llojet int (numër i plotë), float (numri real), str (vargu) dhe bool (vlera logjike) janë llojet themelore. Dallimi midis tuples dhe llojeve themelore është se vlera e një tuple përbëhet nga vlera të shumta të një lloji më të thjeshtë.

Secila vlerë që përbëhet nga vlera të shumta të një lloji më të thjeshtë do të quhet një koleksion. Të dhënat që koleksioni përbëhet quhen elementë të mbledhjes.

Koleksionet e vetme që kemi parë deri më tani janë tuples, të cilat tani do t’i njohim më në detaje. Do të shohim edhe disa lloje të tjera koleksionesh shumë shpejt.

Tuple dhe elementet e saj

Paketimi dhe paketimi i paketave

Ne mund ta vendosim tërë tufën në një ndryshore, ashtu siç veprojmë me vlerat e një lloji më të thjeshtë. Në shembullin e mëposhtëm, variabli temperatura përmban tërë vlerësimin si vlerë të saj.

Ky lloj i caktimit të vlerës (si në rreshtin e parë të programit) njihet si paketim tuple. Caktimi i kundërt është gjithashtu i mundur: kur e dimë se sa elementë ka në një tufë, ne mund t’i caktojmë elementët tuple në numrin përkatës të ndryshoreve:

Deklaratat si first_name, middle_name, last_name = emri i plotë quhen paketim tuple.

I njëjti efekt arrihet nga një deklaratë e lidhur

first_name, middle_name, last_name = "Arthur", "Conan", "Doyle"

Tuples do not appear in this statement, which is called multiple value assignment.

Tuples nuk paraqiten në këtë deklaratë, e cila quhet detyrë me shumë vlera.

Elementet dhe indekset

Ne gjithashtu mund të marrim elementet e një tuple duke shkruar emrin e tuples, dhe pas saj në kllapa katror numrin rendor të elementit që duam. Këtu duhet të theksohet se numërimi i elementeve të çdo koleksioni fillon nga zero. Për shembull:

The sequence number of an element is also called the index of the element. if the tuple has n elements, we can use the numbers 0, 1, 2, … n-1 as indices. In the example above, n = 3, so indices 0, 1, and 2 are allowed. Trying to use an index outside these bounds causes an error (try it).

Gjatesia e Tuple

Numri i elementeve të një tuple mund të merret duke përdorur funksionin len.

ose më shkurt:

Vini re kllapat e dyfishta (njëra për funksionin dhe tjetra për tufën).

Përmes këtyre shembujve kemi parë që elementët tuple mund të jenë numra ose vargje. Në fakt, elementët tuple mund të jenë të çdo lloji, themelor ose kompleks.

Për shembull, është e mundur të krijoni një tufë prej tuples:

Tuple t përmban dy tupla më të thjeshta, prandaj numri i elementëve të tij është 2.

Në Python, elementët e një tuple mund të jenë të llojeve të ndryshme, dhe shembuj të tillë do t’i shohim më vonë.

Vargu

Gama është një lloj tjetër i koleksionit. Për dallim nga tuple, elementët e kësaj koleksioni janë gjithmonë numër të plotë.

Gama mund të përcaktohet në disa mënyra.

Varg me 1 argument

Forma më e thjeshtë për të specifikuar një gamë është varg (n), ku n është një numër i plotë pozitiv. Varg (n) Varg * përmban numër të plotë nga 0 në n, duke mos përfshirë n. Për shembull, diapazoni (5) përmban vlerat 0, 1, 2, 3, 4.

Ne shohim që në deklarimin for, ne mund të përdorim gamën në të njëjtën mënyrë si tuple. Në fakt, çdo koleksion mund të jetë në vend të tufës ose diapazonit.

Meqenëse diapazoni varg (n) përmban gjithsej vlera n, ky diapazon përdoret shpesh kur vetëm një komandë duhet të përsëritet n herë në të njëjtën mënyrë:

Funksioni print u ekzekutua për secilën vlerë i të sekuencës 0, 1, 2, 3, 4, por në këtë shembull, ato vlera nuk përdoren në trupin e lakut. Kështu, kemi arritur që funksioni print të ishte ekzekutuar 5 herë në të njëjtën mënyrë, d.m.th., është përsëritur 5 herë.

Një tjetër përdorim i zakonshëm i këtij lloji të gamës është të kapni të gjithë elementët e një tuple. Në këtë rast, variabli i loop shërben si një indeks. Kjo mënyrë për të kaluar vlerat e tuple është e përshtatshme kur përveç këtyre vlerave tuple në lak na duhen edhe numrat e sekuencave të tyre (kjo mënyrë për të kaluar nëpër koleksion është më e zakonshme në gjuhët e tjera të programimit sesa Python).

Varg me 2 argumente

Kur kemi nevojë për një sekuencë të numrave të plotë të njëpasnjëshëm që nuk fillojnë në zero, ne e vendosim rangun si string (a, b), ku a dhe b janë numra të plotë të tillë që \(a <b\). Atëherë sekuenca përbëhet nga numra të plotë nga ab, duke mos përfshirë b. Për shembull, vargu (1, 6) jep rendin e numrave 1, 2, 3, 4, 5:

Varg me tre argumente

Forma e tretë e specifikimit të një game ka tre argumente:

Vlerat e diapazonit të dhënë nga diapazoni (a, b, c) shkojnë nga ab (duke mos përfshirë b) me hapin c, vlerat d.m.th ndryshojnë me c. Hapi c gjithashtu mund të jetë negativ:

Ne mund ta shndërrojmë një varg në një tufë (e kundërta nuk është e mundur, as nuk është e nevojshme ndonjëherë):

Vargu si koleksion

Ne kemi përdorur vargje si lloji themelor deri më tani, por vargjet mund të përdoren gjithashtu si koleksione të karaktereve individuale. Ne mund të përshkojmë karakteret e vargjeve duke përdorur një lak dhe të marrim karaktere individuale duke përdorur indekset:

Funksionet në koleksione

Ka shumë funksione në Python që pranojnë një koleksion si një argument. Një prej tyre është funksioni len, të cilin ne kemi përmbushur tashmë. Disa funksione të tjera që përdoren zakonisht për koleksionet janë:

  • min, një funksion që jep elementin më të vogël të një koleksioni

  • max, një funksion që jep elementin më të madh të një koleksioni

  • sum, një funksion që jep shumën e elementeve të një koleksioni

Vlerat e funksioneve len, sum, min, max për diapazonin gjithashtu mund të përcaktohen nga parametrat e diapazonit. Gjithashtu, min dhe max nuk zbatohen zakonisht në një varg (ata kthehen karakter me përkatësisht kodin më të vogël dhe më të madh). Këtu, ne thjesht po theksojmë se të gjitha këto funksione pranojnë lloje të ndryshme koleksionesh si argumentin e tyre (përfshirë gamën dhe vargun).

Pyetj

    Q-28: Çfare printon programi i mëposhtëm?

    t = (32, 41, 20, 17)
    a, b, c, d = t
    print(c)
    
  • a program error occurs
  • Provo përsëri
  • 2
  • Provo përsëri
  • 20
  • Saktë
  • 3
  • Provo përsëri

    Q-29: Çfare printon programi i mëposhtëm?

    a = (1, 2, 3)
    print(a[1])
    
  • 1
  • Provo përsëri
  • 2
  • Saktë
  • a program error occurs
  • Provo përsëri
  • 3
  • Provo përsëri

    Q-30: Cili varg përmban vlerat 1, 2, 3?

  • range(4)
  • Provo përsëri
  • range(1, 4)
  • Saktë
  • range(3)
  • Provo përsëri
  • range(1, 3)
  • Provo përsëri

    Q-31: Sa vlera përmban vargu(1, 10, 2)?

  • 5
  • Saktë
  • 6
  • Provo përsëri
  • 9
  • Provo përsëri
  • 10
  • Provo përsëri
    Q-32: Lidh vargun me numrin e elementëve. Provo përsëri!
  • 5
  • range(5)
  • 0
  • range(3, 3)
  • 3
  • range(1, 4)
  • 1
  • range(3, 6, 3)
    Q-33: Lidh vargun me vlerat. Provo përsëri!
  • 3, 4, 5
  • range(3, 6)
  • 0, 1, 2
  • range(3)
  • 3, 1
  • range(3, -1, -2)
  • 3, 2, 1, 0, -1
  • range(3, -2, -1)
  • 3
  • range(3, 6, 3)