Mulțimi (date neordonate cu operații logice optimizate)

Tipuri de date în Python

Jason Myers

Instructor

Mulțime

  • Unice
  • Neordonate
  • Mutabile
  • Implementarea Python a Teoriei Mulțimilor din matematică
Tipuri de date în Python

Crearea mulțimilor

  • Mulțimile sunt create dintr-o listă
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'])
Tipuri de date în Python

Modificarea mulțimilor

  • .add() adaugă elemente individuale
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'])
Tipuri de date în Python

Actualizarea mulțimilor

  • .update() îmbină o altă mulțime sau listă
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'])
Tipuri de date în Python

Eliminarea datelor din mulțimi

  • .discard() elimină în siguranță un element din mulțime după valoare
  • .pop() elimină și returnează un element arbitrar din mulțime (KeyError când este goală)
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'
Tipuri de date în Python

Operații cu mulțimi - similarități

  • Metoda .union() returnează o mulțime cu toate elementele (or)
  • Metoda .intersection() identifică elementele comune (and)
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'])
Tipuri de date în Python

Operații cu mulțimi - diferențe

  • Metoda .difference() identifică elementele prezente în mulțimea pe care se aplică metoda, dar absente din argumente (-)
  • Ținta contează!
cookies_jason_ate.difference(cookies_hugo_ate)
set(['oatmeal cream', 'peanut butter'])
cookies_hugo_ate.difference(cookies_jason_ate)
set(['anzac'])
Tipuri de date în Python

Să exersăm!

Tipuri de date în Python

Preparing Video For Download...