Eliminar entradas en un diccionario basado en una condición

Tengo un diccionario con nombres como clave y (edad, Fecha de nacimiento) tupla como el valor de esas claves. P.ej

dict = {'Adam' : (10, '2002-08-13'), 'Eve' : (40, '1972-08-13')} 

Quiero eliminar todas las claves que tienen una edad> 30 para su edad en valor tuple, ¿cómo puedo hacer eso? Estoy accediendo a la edad de cada tecla usando dict[name][0] donde dict es mi diccionario.

La forma habitual es crear un nuevo diccionario que contenga solo los elementos que desea conservar:

 new_data = {k: v for k, v in data.iteritems() if v[0] <= 30} 

En Python 3.x, use items() lugar de iteritems() .

Si necesita cambiar el diccionario original en su lugar, puede usar un bucle for -loop:

 for k, v in data.items(): if v[0] > 30: del data[k] 

En Python 3.x, use list(data.items()) lugar de data.items() .