Python - datastrukturer
Lærebok:
- 10: Lists
- 11: Tuples, Dictionaries and Sets
Lister
Tupler
Hashtabell
Mengder
Lists
Tuples
Dictionaries
Sets
Ordnet
Uordnet
Modifiserbar
Ikke modifiserbar
(mutable)
Lister
Lister er ordnet: elementene har en fast rekkefølge
Innholdet i lister kan byttes ut - oppdateres
Lister har innebygde metoder som kan stokke om på rekkefølge- og innhold:
sort(), reverse(), sette inn nye elementer, slette elementer
Se flere eksempler på uthenting fra og modifisering av lister her:
Opprette lister
L1 = [] # Tom liste
L2 = list(range(100)) # Lager liste over tallene fra 0-99
L3 = ['Merkur,', 'Venus,', 'Tellus,', 'Mars,', 'Jupiter,', 'Saturn,', 'Uranus,', 'Neptun']
# Fjerne element fra liste
L1.pop(2) # Alt. 1
L1.remove('Tellus') # Alt. 2
Tupler
Lister er ordnet: elementene har en fast rekkefølge
Innholdet i tupler kan ikke endres etter at de er opprettet. Det kan eliminere en mulig feilkilde i dataprogrammer: Man kan vite at data i et tuppel ikke har blitt endret.
Man kan ikke fjerne eller legge til elementer i tupler, og heller ikke sortere eller endre rekkefølge.
Metodene for å hente ut elementer er som hos lister.
T1 = () # Tomt tuppel - dette gir ikke mening.
# Man kan ikke legge inn noe her seinere.
T2 = tuple(range(100)) # Lager tuppel med tallene fra 0-99
T3 = ('Merkur,', 'Venus,', 'Tellus,', 'Mars,', 'Jupiter,', 'Saturn,', 'Uranus,', 'Neptun')
# Parenteser er ikke obligatorisk, men brukes ofte
T3 = 'Merkur', 'Venus', 'Tellus', 'Mars', 'Jupiter', 'Saturn', 'Uranus', 'Neptun'
Se samme uthentings-eksempler som med lister:
"and now for something completly different"
- Monty Python
Flying Circus
traveltime = {
'Merkur':3.2,
'Venus': 6.0,
'Tellus': 8.3,
'Mars': 12.6,
'Jupiter': 43.2,
'Saturn': 79.3,
'Uranus': 159.6,
'Neptun': 246.0
}
Hashtabeller
a.k.a. Dictionaries
Dictionaries er ikke ordnet i en bestemt rekkefølge
De består av parvise sammenstillinger av
- nøkkelverdi
- datainnhold
Nøklene kan ikke forandres - datainnholdet kan
Bruk av dictionaries forutsetter at det kan knyttes en
id - en nøkkel, til datainnholdet
Dictionaries gir raske oppslag på nøkkelverdier
Nøkler i dictionaries:
- må være av immutable type:
int, float, str, tuple
Se bruk av dictionaries her:
http://folk.ntnu.no/sverrsti/INGG1001-H2019/Dictionaries.html
Mengder
a.k.a. Sets
Sets er ikke ordnet i en bestemt rekkefølge
De består av unike elementer.
Sets kommer med funksjonalitet som du kjenner fra tradisjonell mengdelære:
- snitt
- union
- m.m.
Innholdet i sets må være av type ikke modifiserbar:
- int, float, str, tuple
Sets i seg selv er modifiserbare. Man kan legge til og fjerne elementer i sets.
Se bruk av sets her:
http://folk.ntnu.no/sverrsti/INGG1001-H2019/Sets.html
INGG1001 Datastrukturer
By sverres
INGG1001 Datastrukturer
- 501