Tie koodariksi

Programmeringens grunder

Språk:

Luku 13: Lista

En lista är en samling information som man refererar till med ett gemensamt namn. Listan består av element, av vilka vart och ett motsvarar en enskild variabel. Till exempel är [1,3,4,8] en lista med fyra element.

Skapa en lista

Vi kan skapa en lista genom att ge dess innehåll inom hakparenteser:
lista = [1,3,4,8]
Ett annat sätt är att börja med en tom lista [] och använda append-kommandot som lägger till ett nytt element till listans slut:
lista = []
lista.append(1)
lista.append(3)
lista.append(4)
lista.append(8)
Vi kan också skapa en lista genom att repetera ett visst element. Till exempel skapar följande kod listan [1,1,1,1]:
lista = [1]*4

Behandling av listan

En lista kan behandlas ungefär på samma sätt som en sträng: funktionen len anger antalet element och elementen kan refereras till med markeringen []. Följande kod presenterar detta:
lista = [1,3,4,8]
print(len(lista))
print(lista[0])
print(lista[1])
Programmets utskrift är följande:
4
1
3

Gå igenom listan

Vi kan gå igenom listans element med hjälp av for-slingan på följande sätt:
lista = [1,3,4,8]
for x in lista:
    print(x)
Programmets utskrift är följande:
1
3
4
8
Detta påminner mycket om att gå igenom ett talintervall, vilket vi redan gjorde i kapitel 4. Vi kan även tänka oss att funktionen range producerar en lista som innehåller talen i intervallet.

Ordna en lista

En del av listan är kommandot sort, med hjälp av vilket elementen kan ordnas från det minsta till det största. Följande program ger ett prov på detta:
lista = [5,2,9,8,3]
print(lista)
lista.sort()
print(lista)
Programmets utskrift är följande:
[5, 2, 9, 8, 3]
[2, 3, 5, 8, 9]

I följande uppgifter är materialet lista X över 100 slumpmässiga tal i intervallet 1...1000. Du kan kopiera listan till din kod för dina uppgifter här:

listaX = [932, 168, 876, 250, 426, 231, 554, 105, 888, 684, 639, 131, 140, 382, 479, 402, 125, 264, 286, 290, 205, 944, 761, 735, 611, 646, 908, 438, 852, 937, 397, 503, 591, 736, 734, 124, 434, 952, 269, 13, 164, 161, 128, 170, 646, 200, 331, 946, 590, 973, 569, 784, 778, 358, 463, 712, 283, 357, 959, 598, 518, 853, 305, 767, 44, 135, 175, 407, 677, 749, 714, 517, 766, 346, 488, 687, 338, 375, 341, 582, 912, 389, 224, 326, 561, 106, 756, 709, 445, 106, 727, 258, 671, 48, 857, 69, 171, 840, 335, 696]

Uppgift 1 Olöst

Skriv ett program som skriver ut summan av talen i lista X.

Skriv ditt program här:


Uppgift 2 Olöst

Skriv ett program som skriver ut summan av jämna talen i lista X.

Skriv ditt program här:


Uppgift 3 Olöst

Skriv ett program som skriver ut det minsta och största talet i lista X.

Skriv ditt program här:


Uppgift 4 Olöst

Skriv ett program som skriver ut den största skillnaden mellan två intilliggande tal i lista X.

Skriv ditt program här:


Uppgift 5 Olöst

Skriv ett program som skriver ut summan av de 10 största talen i lista X.

Skriv ditt program här:


Uppgift 6 Olöst

Pascals triangel är en figur som har ettor på randen och varje annat tal är summan av talen ovanför. Här är de 5 första raderna i Pascals triangel:

[1]
[1, 1]
[1, 2, 1]
[1, 3, 3, 1]
[1, 4, 6, 4, 1]

Skriv ett program som skriver ut de 25 första raderna i Pascals triangel på motsvarande sätt.

Skriv ditt program här: