Några list-exempel på index och skivning att fundera på.
Jobba gärna i grupp och förklara för varandra. Tänk först vad du tror
kommer att skrivas ut, testkör sen och förklara hur det fungerar. Kopiera ett rad i taget.
Utgå från den här listan:
lst = [10, 11, 12, 13, 14, 15]
dvs listans index går från och med 0 till och med 5.
Fundera först, testa sen, en punkt i taget:
print(lst[0])
print(lst[8])
Negativa index:
print(lst[-1])
print(lst[-2])
print(lst[-6])
print(lst[-9])
Skivning: Från det lägre indexet och upp till sist angivna index-1, eller slutet av
listan (om man inte anger negativa steg):
print(lst[2:6])
print(lst[2:8])
print(lst[2:10])
print(lst[8:10])
Ensidig skivning fr o m index upp till slutet av listan.
lst[i:]: Räkna uppåt från index i eller lägsta negativa index:
print(lst[3:])
print(lst[5:])
print(lst[6:])
print(lst[7:])
Jämför med ensidig skivning negativt index:
print(lst[-4:])
print(lst[-6:])
print(lst[-8:])
for i in range(6):
print(lst[i-len(lst):])
for i in range(len(lst)): # Eller range(6)
print(lst[i-len(lst)-1:])
Ensidig skivning från början av listan upp t o m index-1 eller slutet av listan:
print(lst[:3])
print(lst[:6])
print(lst[:10])
print(lst[:2])
Jämför med stop på negativt index-1:
print(lst[:-2]) # OBS! Början av listan har index 0 men även index -6
print(lst[:-5])
Vad betyder då lst[-3:4]? Fundera på följande tre printsatser:
print(lst[-3:])
print(lst[:4])
print(lst[-3:], "och ", lst[:4], "men ", lst[-3:4])
print(lst[-6:-2]) # Jämför med print(lst[:-2])
print(lst[-3:3]) # Förklara varför det blir så här.