Sets (ongeordende data met geoptimaliseerde logische operaties)

Datatypen in Python

Jason Myers

Instructor

Set

  • Uniek
  • Ongeordend
  • Mutabel
  • Python-implementatie van verzamelingenleer
Datatypen in Python

Sets maken

  • Sets maak je uit een lijst
cookies_eaten_today = ['chocolate chip', 'peanut butter', 
   ...: 'chocolate chip', 'oatmeal cream', 'chocolate chip']

types_of_cookies_eaten = set(cookies_eaten_today)
print(types_of_cookies_eaten)
set(['chocolate chip', 'oatmeal cream', 'peanut butter'])
Datatypen in Python

Sets aanpassen

  • .add() voegt één element toe
types_of_cookies_eaten.add('biscotti')

types_of_cookies_eaten.add('chocolate chip')

print(types_of_cookies_eaten)
set(['chocolate chip', 'oatmeal cream', 'peanut butter', 'biscotti'])
Datatypen in Python

Sets bijwerken

  • .update() voegt een andere set of lijst samen
cookies_hugo_ate = ['chocolate chip', 'anzac']

types_of_cookies_eaten.update(cookies_hugo_ate)

print(types_of_cookies_eaten)
set(['chocolate chip', 'anzac', 'oatmeal cream',  'peanut butter', 'biscotti'])
Datatypen in Python

Data uit sets verwijderen

  • .discard() verwijdert veilig een element op waarde
  • .pop() verwijdert en geeft een willekeurig element terug (KeyError als leeg)
types_of_cookies_eaten.discard('biscotti')

print(types_of_cookies_eaten)
set(['chocolate chip', 'anzac', 'oatmeal cream', 'peanut butter'])
types_of_cookies_eaten.pop()
types_of_cookies_eaten.pop()
'chocolate chip'
'anzac'
Datatypen in Python

Set-bewerkingen - overeenkomsten

  • .union() geeft een set met alle namen (of)
  • .intersection() vindt overlap (en)
cookies_jason_ate = set(['chocolate chip', 'oatmeal cream',
'peanut butter'])
cookies_hugo_ate = set(['chocolate chip', 'anzac'])

cookies_jason_ate.union(cookies_hugo_ate)
set(['chocolate chip', 'anzac', 'oatmeal cream', 'peanut butter'])
cookies_jason_ate.intersection(cookies_hugo_ate)
set(['chocolate chip'])
Datatypen in Python

Set-bewerkingen - verschillen

  • .difference() geeft items in de bronset die niet in de argumenten staan (-)
  • Doelset is belangrijk!
cookies_jason_ate.difference(cookies_hugo_ate)
set(['oatmeal cream', 'peanut butter'])
cookies_hugo_ate.difference(cookies_jason_ate)
set(['anzac'])
Datatypen in Python

Laten we oefenen!

Datatypen in Python

Preparing Video For Download...