2.3.2 De verzameling gedefinieerd

# Vul aan
herbarium = { 'vlier', 'wilg', 'klaproos', 'esdoorn', 'kamille', 'bereklauw' }
# zit vlier erin
print('vlier' in herbarium)

2.3.3 Verzamelingen vergelijken

set1 = { 10, 30, 70 }
set2 = { 30, 70, 10 }
set3 = { 10, 30, 70, 90 }
set4 = { 30, 70, 10, 30 }

lijst1 = [10, 30, 70]
lijst2 = [30, 70, 10]

print(lijst1==lijst2)
print(set1==set2)
print(set1==set3)
print(set1==set4)

2.3.4 Aantal elementen

horloges = { 'Tissot', 'Seiko', 'TAG Heuer', 'Longines', 'Tissot', 'Skagen', 'Seiko'}
print(len(horloges))

2.3.5 Kies wijs

# De dieren als een lijst
lijst = ['tijger', 'ijsbeer', 'pinguin', 'damhert', 'walrus', 'neushoorn', 'gorilla']
# Dezelfde dieren als een verzameling
verz = {'tijger', 'ijsbeer', 'pinguin', 'damhert', 'walrus', 'neushoorn', 'gorilla'}
# Elementen nagaan
print('Zit pinguin in de verzameling van dieren?', 'pinguin' in verz)

2.3.6 Lijsten naar verzamelingen… en vice versa!

def verwijder_dubbele_en_sorteer(lijst):
    # Zet de lijst om naar een set om dubbele waarden te verwijderen
    unieke_waarden = set(lijst)
    # Zet de set terug om naar een lijst en sorteer
    return sorted(list(unieke_waarden))

2.3.7 De lege verzameling

leeg = set()
print('De lege verzameling bevat', len(leeg), 'elementen.')

2.3.8 Volgers op Instagram

volgers = { 'Narin', 'Katoo', 'Thijs', 'Jiani', 'Fien' }
volgers.add('Laurence')
volgers.add('Roos')
volgers.add('Aiko')
print(sorted(volgers))

2.3.9 Volgers updaten

volgers = { 'Narin', 'Katoo', 'Thijs', 'Jiani', 'Fien' }
volgers.remove('Narin')
volgers.remove('Fien')
volgers.add('Tristan')
volgers.add('Féline')
volgers.add('Zeynep')
print(sorted(volgers))

2.3.10 Verzamelingen samenvoegen, hoe doe je dat?

badminton = {'Nele', 'Amber', 'Amir', 'Leila', 'Alex', 'Winand'}
piano = {'Loic', 'Nele', 'Sarah', 'Amir', 'Lore', 'Toby'}
# Enkel piano
print(sorted(piano - badminton))

2.3.12 Olympischemedaillewinnaars

tokyo = {"Nafi Thiam","Red Lions","Nina Derwael","Wout van Aert","Bashir Abdi","jumpingploeg","Matthias Casse"}
rio = {"Greg Van Avermaet","Nafi Thiam","Pieter Timmers","Red Lions","Dirk Van Tichelt","Jolien Dhoore"}

beiden = tokyo & rio
print(sorted(beiden))

2.3.13 Gemeenschappelijk

def gemeenschappelijk(lijst1,lijst2):
    gem = set()
    for elem in lijst1:
        if elem in lijst2:
            gem.add(elem)
    return sorted(gem)

# Alternatieve oplossing die gebruik maakt van sets:
# def gemeenschappelijk(lijst1,lijst2):
#     return sorted(set(lijst1) & set(lijst2))

2.3.14 Allemaal

def allemaal(lijst, verz):
    for elem in lijst:
        if elem not in verz:
            return False
    return True

# Alternatieve oplossing 1
# def allemaal(lijst, verz):
    # return (set(lijst) | verz) == verz

# Alternatieve oplossing 2
# def allemaal(lijst, verz):
    # return len(set(lijst) - verz) == 0

2.3.15 Minstens zoveel

def minstens(n,lijst,verz):
    aantal = 0
    for elem in lijst:
        if elem in verz:
            aantal += 1
        if aantal == n:
            return True
    return False

2.3.16 Som van tupels

def som(n,getallen):
    verz = set()
    for i in getallen:
        for j in getallen:
            if i + j == n:
                verz.add((i,j))
    return sorted(verz)