practice stups
#pure functions have no side effects, and return a value that depends only on their arguments
#The function map takes a function and an iterable as an arguments, and returns a new iterable with the function applied to each argument
#the function filters an iterable by removing items that don't match a predicate
#they can not contain duplicate elements
#the method remove removes a specific elemnet from a set: pop removes an arbitary element
#the differences operator - gets items in the first set but not in the scond #the symmetric difference operator ^ gets items in either set, but not both
######## when to use a dictionary #######
-- when you need a logical association between a key:value pair
-- when you need fast look up for your data, based on custom key
-- when your data is being constantly modified. Remember dictionaries are mutable
######## When to use the other types #######
-- use list if you have a collection of data that does not need random access.
-- try to choose list when you need a simple, iterable collection that is modified frequently
-- use a set if you need uniqueness for the elements
-- use the tuples when your data cannot change
#-- many times, a tuples is used in combination with a dictionary, for example
--, a tuple migth represnt a key, beacuse it's immutable