Dan's method works if all values have a suffix like '-1234'. But if some records don't have that, e.g. they just have the 5 digit zip, you'll be getting rid of that part of the field and would end up with no zip. You might want to try:
>>> a = "MAPLE GROVE MN 55369-3466"
>>> lst = a.split('-')
>>> if len(lst) > 1: # i.e., you have a '-' in the field
... b = lst[0] # this is the value you want
Even this isn't foolproof, since a '-' anywhere in the field will get caught, for instance, a street named Sans-Souci. There are ways to catch that, but trying to keep it simple.