It's perhaps worth pointing out that dicts already have a zero-arg popitem method. I don't think I would use Thomas's proposed popitem so frequently that the fairly obvious v = d.get(k, default) try: del d[k] except KeyError: pass would be all that much trouble to type. Those are the semantics you're proposing, right? Skip