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 )