From the inspect.getargspec()
documentation:
defaults is a tuple of default argument values or None if there are no default arguments; if this tuple has n elements, they correspond to the last n elements listed in args.
Emphasis mine.
So, to match your defaults to the arguments, use:
dict(zip(argspec.args[-len(argspec.defaults):], argspec.defaults))
to get a dictionary mapping argument names to their defaults:
>>> import inspect
>>> def action(one, two, three=3): pass
...
>>> argspec = inspect.getargspec(action)
>>> dict(zip(argspec.args[-len(argspec.defaults):], argspec.defaults))
{'three': 3}