A bag is a container that stores a collection in which duplicate values are allowed. The items, each of which is individually stored, have no particular order but they must be comparable
- Bag(): Creates a bag that is initially empty.
- length (): Returns the number of items stored in the bag. Accessed using the len() function.
- contains ( item ): Determines if the given target item is stored in the bag and returns the appropriate boolean value. Accessed using the in operator.
- add( item ): Adds the given item to the bag.
- remove( item ): Removes and returns an occurrence of item from the bag. An exception is raised if the element is not in the bag.
- iterator (): Creates and returns an iterator that can be used to iterate over the collection of items
Example Bag Abstract Data Type
myBag = Bag() myBag.add( 19 ) myBag.add( 74 ) myBag.add( 23 ) myBag.add( 19 ) myBag.add( 12 ) value = int( input("Guess a value contained in the bag.") ) if value in myBag: print( "The bag contains the value", value ) else : print( "The bag does not contain the value", value )
#pgm: checkdates2.py (modified main() from checkdates.py) from linearbag import Bag from date import Date def main(): bornBefore = Date( 6, 1, 1988 ) bag = Bag() # Extract dates from the user and place them in the bag. date = promptAndExtractDate() while date is not None : bag.add( date ) date = promptAndExtractDate() # Iterate over the bag and check the age. for date in bag : if date <= bornBefore : print( "Is at least 21 years of age: ", date )