Eliminar más de una clave de dict de Python

¿Existe algún método de acceso directo eficiente para eliminar más de una clave a la vez de un diccionario de python?

Por ejemplo;

x = {'a': 5, 'b': 2, 'c': 3} x.pop('a', 'b') print x {'c': 3} 

Utilice la statement del :

 x = {'a': 5, 'b': 2, 'c': 3} del x['a'], x['b'] print x {'c': 3} 

La forma general que uso es la siguiente:

  1. Producir una lista de claves para eliminar de la asignación;
  2. Recorra la lista y llame a del para cada uno.

Ejemplo:

Digamos que quiero eliminar todas las claves de cadena en una asignación. Producir una lista de ellos:

 >>> x={'a':5,'b':2,'c':3,1:'abc',2:'efg',3:'xyz'} >>> [k for k in x if type(k) == str] ['a', 'c', 'b'] 

Ahora puedo borrar esos:

 >>> for key in [k for k in x if type(k) == str]: del x[key] >>> x {1: 'abc', 2: 'efg', 3: 'xyz'}