12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van...

22
LISTS 12A

Transcript of 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van...

Page 1: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

LISTS12A

Page 2: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

WAT LEREN WE?

▸ Veranderbaarheid van lists

▸ Sublijst

▸ Gebruik van + en ∗ met lists

▸ List methodes append(), extend(), insert(), remove(), pop(), index(), count(), sort(), en reverse()

▸ sort() met key en lambda

▸ del met lists

▸ Aliases

▸ Het gereserveerde woord is

�149

▸ List kopieën

▸ Diepe kopieën van lists via deepcopy()

▸ Lists als argumenten

▸ Nesten van lists

▸ List casting

▸ List comprehensions

Page 3: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

WAT?

▸ Geordende verzameling of collectie van elementen.

�150

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> 'Korneel' in matrozen

False

>>> pogingen = [1.23, 1.35, 1.31]

>>> max(pogingen)

1.35

>>> sum(pogingen)

3.89

Page 4: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

NOG VOORBEELDEN

▸ Lijsten met elementen van verschillende types:

�151

>>> land = ['Belgie', 'Brussel', 11358357, ('Nederlands', 'Frans', 'Duits')]

>>> len(land)

4

>>> print(land)

['Belgie', 'Brussel', 11358357, ('Nederlands', 'Frans', 'Duits']

>>> min(land)

Traceback (most recent call last):

File "<input>", line 1, in <module>

TypeError: '<' not supported between instances of 'int' and 'str'

Page 5: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

MUTABLE

▸ De inhoud van lijsten kan je wijzigen.

�152

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> matrozen[2] = 'Korneel'

>>> print(matrozen[-1])

Korneel

Page 6: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

ITERABLE

▸ De elementen van een lijst kan je overlopen.

�153

matrozen = ['Jan', 'Piet', 'Piet', 'Joris']

print(matrozen[0])

for i in range(1, len(matrozen)):

if matrozen[i] != matrozen[i - 1]:

print(matrozen[i])

for matroos in matrozen:

print(matroos)

Jan

Piet

Joris

Jan

Piet

Piet

Joris

Page 7: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

SUBLIST

▸ Zoals bij strings:

�154

>>> pogingen = [1.23, 1.35, 1.31, 1.33, 1.27]

>>> print(pogingen[1:3])

[1.35, 1.31]

>>> print(pogingen[::2])

[1.23, 1.31, 1.27]

>>> print(pogingen[-3:-1])

[1.31, 1.33]

Page 8: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

ELEMENTEN VERWIJDEREN

▸ Eén of meerdere opeenvolgende elementen verwijderen:

�155

>>> matrozen = ['Jan', 'Piet', 'Joris', 'Korneel']

>>> matrozen[0:2] = []

>>> print(matrozen)

['Joris', 'Korneel']

>>> matrozen[0:1] = []

>>> print(matrozen)

['Korneel']

Page 9: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

OPERATOREN

▸ + en *

�156

>>> matrozen = ['Jan', 'Piet'] + ['Joris']

>>> matrozen += ['Korneel']

>>> print(matrozen)

['Jan', 'Piet', 'Joris', 'Korneel']

>>> matrozen = 3 * ['Jan']

>>> print(matrozen)

['Jan', 'Jan', 'Jan']

Page 10: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

OPERATOREN

▸ Gevaar:

�157

>>> matrozen = ['Jan']

>>> matrozen += 'Piet'

>>> print(matrozen)

['Jan', 'P', 'i', 'e', 't']

Page 11: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

STRING METHODE MET LIST ALS RETOURWAARDE

▸ split(): string splitsen in woordenlijst.

�158

>>> taal = 'programmeren in python'

>>> taal.split()

['programmeren', 'in', 'python']

>>> telegram = 'programmeren:in:python'

>>> telegram.split(':')

['programmeren', 'in', 'python']

Page 12: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

STRING METHODE MET LIST ALS PARAMETER

▸ join(): van woordenlijst naar string.

�159

>>> taal = 'programmeren in python'

>>> lijst = taal.split()

>>> print(lijst)

['programmeren', 'in', 'python']

>>> ''.join(lijst)

'programmereninpython'

>>> ' '.join(lijst)

'programmeren in python'

Page 13: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ append() en insert(): één element toevoegen.

�160

>>> matrozen = ['Jan']

>>> matrozen.append('Joris')

>>> print(matrozen)

['Jan', 'Joris']

>>> matrozen.insert(1, 'Piet')

>>> print(matrozen)

['Jan', 'Piet', 'Joris']

Page 14: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ extend(): lijst uitbreiden met lijst.

�161

>>> matrozen = ['Jan']

>>> matrozen.extend(['Piet', 'Joris'])

>>> print(matrozen)

['Jan', 'Piet', 'Joris']

Page 15: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ remove(): één element verwijderen.

�162

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> matrozen.remove('Piet')

>>> print(matrozen)

>>> matrozen.remove('Korneel')

Traceback (most recent call last):

File "<input>", line 1, in <module>

ValueError: list.remove(x): x not in list

Page 16: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ pop(): één element op gegeven index verwijderen.

�163

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> matrozen.pop(1)

'Piet'

>>> print(matrozen)

['Jan', 'Joris']

>>> matrozen.pop()

'Joris'

Page 17: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ index(): van een element de index in de lijst bepalen.

�164

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> matrozen.index('Piet')

1

>>> matrozen.index('Korneel')

Traceback (most recent call last):

File "<input>", line 1, in <module>

ValueError: 'Korneel' is not in list

Page 18: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ sort(): de lijst sorteren

�165

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> matrozen.sort()

>>> print(matrozen)

['Jan', 'Joris', 'Piet']

>>> matrozen.sort(reverse=True)

>>> print(matrozen)

['Piet', 'Joris', 'Jan']

Page 19: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ reverse(): een lijst omkeren.

�166

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> matrozen.reverse()

>>> print(matrozen)

['Joris', 'Piet', 'Jan']

Page 20: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST METHODES

▸ count(): tellen hoeveel keer een element voorkomt.

�167

>>> matrozen = ['Jan', 'Piet', 'Piet']

>>> matrozen.count('Piet')

2

>>> matrozen.count('Korneel')

0

Page 21: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

ALIAS

▸ Gelijkheid van lijsten testen met is:

�168

>>> matrozen = ['Jan', 'Piet', 'Joris']

>>> kapiteins = matrozen

>>> kapiteins.append('Korneel')

>>> print(matrozen)

['Jan', 'Piet', 'Joris', 'Korneel']

>>> kapiteins is matrozen

True

>>> zeelui = ['Jan', 'Piet', 'Joris', 'Korneel']

>>> zeelui is matrozen

False

Page 22: 12 LISTS - UGent€¦ · 12A - LISTS WAT LEREN WE? Veranderbaarheid van lists Sublijst Gebruik van + en ∗ met lists List methodes append(), extend(), insert(), remove(), pop(),

12A - LISTS

LIST CASTING

▸ Van string naar list en van tuple naar list en terug

�169

>>> list('Korneel')

['K', 'o', 'r', 'n', 'e', 'e', 'l']

>>> list(('België', 'Brussel', 11358357))

['België', 'Brussel', 11358357]

>>> tuple(['België', 'Brussel', 11358357])

('België', 'Brussel', 11358357)