Programmēšana • 8. nodarbība

Saraksti Python valodā

Pārvērt ar range() izveidotu skaitļu virkni sarakstā un iepazīsti, kā sarakstā apskatīt, mainīt un apstrādāt vairākas vērtības.

01 • Iepazīsti sarakstu

No range() uz sarakstu

range() apraksta skaitļu virkni, bet, to izdrukājot, redzams diapazona pieraksts. Ar funkciju list() šo diapazonu pārvēršam sarakstā, kurā varam apskatīt visas vērtības.

Izveido un apskati skaitļu sarakstu

skaitlu_diapazons = range(1, 6)
print(skaitlu_diapazons)

skaitli = list(skaitlu_diapazons)
print(skaitli)
range(1, 6) [1, 2, 3, 4, 5]

list() izveido sarakstu. Saraksta elementus raksta kvadrātiekavās, atdalot ar komatiem. Arī šeit diapazona beigu robeža 6 netiek iekļauta.

Saraksts ir sakārtota vērtību kolekcija. Tajā var glabāt vairākus elementus un piekļūt tiem pēc pozīcijas.
02 • Diapazoni un saraksti

Ģenerē dažādas skaitļu virknes

Ar range() vari norādīt beigu robežu, sākumu un soli, bet list() ļauj uzreiz apskatīt ģenerētos skaitļus.

Sākot no nulles

skaitli = list(range(5))
print(skaitli)
[0, 1, 2, 3, 4]

Ar soli 2

pari_skaitli = list(range(2, 11, 2))
print(pari_skaitli)
[2, 4, 6, 8, 10]

Skaitot atpakaļ

atpakal = list(range(10, 1, -2))
print(atpakal)
[10, 8, 6, 4, 2]
Atceries: skaitīšanai atpakaļ solis ir negatīvs. Sarakstā nonāk visas diapazona vērtības, bet beigu robeža joprojām netiek iekļauta.
03 • Piekļuve elementiem

Indeksi un saraksta elementi

Saraksta elementu indeksēšana sākas ar 0, tāpat kā simbolu virknēs. Negatīvi indeksi ļauj skaitīt no saraksta beigām.

Apskati atsevišķus elementus

augli = ["ābols", "bumbieris", "plūme"]
print(augli[0])
print(augli[1])
print(augli[-1])
print(len(augli))
ābols bumbieris plūme 3

len() atgriež elementu skaitu. Ja sarakstā ir trīs elementi, derīgie pozitīvie indeksi ir 0, 1 un 2.

Uzmanību! Ja mēģināsi nolasīt indeksu, kas neatrodas sarakstā, piemēram, augli[3], Python parādīs kļūdu.
04 • Saraksta izmaiņas

Maini un papildini sarakstu

Saraksti ir maināmi: vari aizstāt elementu vai pievienot jaunas vērtības. Metode append() pievieno elementu saraksta beigās.

Aizstāj elementu un pievieno jaunu

dienas = ["pirmdiena", "otrdiena", "trešdiena"]
dienas[1] = "tuesday"
dienas.append("ceturtdiena")
print(dienas)
['pirmdiena', 'tuesday', 'trešdiena', 'ceturtdiena']

Noņem pēdējo elementu

skaitli = [1, 2, 3, 4]
dzesta_vertiba = skaitli.pop()
print(dzesta_vertiba)
print(skaitli)
4 [1, 2, 3]

pop() noņem un atgriež pēdējo elementu.

05 • Darbs ar sarakstu

Izmanto sarakstus ciklā un aprēķinos

Izvada katru elementu

Cikls for var iziet cauri visiem saraksta elementiem pēc kārtas.

augli = ["ābols", "bumbieris", "plūme"]
for auglis in augli:
    print(auglis)
ābols bumbieris plūme

Aprēķini skaitļu sarakstu

Sarakstu var veidot no range() un izmantot ar jau zināmajām funkcijām.

skaitli = list(range(1, 6))
print(f"Skaitļi: {skaitli}")
print(f"Summa: {sum(skaitli)}")
print(f"Lielākais: {max(skaitli)}")
Skaitļi: [1, 2, 3, 4, 5] Summa: 15 Lielākais: 5
Saikne ar iepriekšējo stundu: saraksts glabā diapazona vērtības, bet for cikls palīdz tās apstrādāt pa vienai.
06 • Praktizē

Praktiskie uzdevumi

1. Izveido sarakstu no diapazona

Izmanto list(range(1, 11)), lai izveidotu un izdrukātu skaitļu sarakstu no 1 līdz 10.

2. Dažādi soļi

Izveido sarakstu ar nepāra skaitļiem no 1 līdz 15 un atsevišķu sarakstu, kas skaita atpakaļ no 10 līdz 0.

3. Saraksta elementi

Izveido savu trīs iecienītāko filmu vai grāmatu sarakstu. Izdrukā pirmo un pēdējo elementu.

4. Maini sarakstu

Aizstāj vienu elementu, pievieno saraksta beigās jaunu ar append() un izdrukā rezultātu.

5. Aprēķini ar skaitļiem

Izveido sarakstu ar skaitļiem no 1 līdz 100. Izmanto sum(), min() un max(), lai atrastu summu, mazāko un lielāko vērtību.

Komentāru atgādinājums: Pievieno komentāru, kas paskaidro, kādas vērtības glabā saraksts un ko ar tām dara programma.
07 • Atceries

Ko esi apguvis?

  • Saraksts glabā vairākas sakārtotas vērtības kvadrātiekavās.
  • list(range(...)) pārvērš skaitļu diapazonu apskatāmā sarakstā.
  • Saraksta indeksēšana sākas ar 0; negatīvus indeksus skaita no beigām.
  • Saraksta elementu var mainīt, un append() pievieno vērtību beigās.
  • for cikls var apstrādāt elementus pēc kārtas, bet len(), sum(), min() un max() palīdz iegūt informāciju par sarakstu.
08 • Pārbaudi zināšanas

Pašpārbaudes tests

Pārbaudi savas zināšanas par sarakstiem, indeksiem un range()!