Variable de clase de referencia en una comprensión de otra variable de clase.

Esta puede ser una pregunta simple, pero estoy teniendo problemas para hacer una búsqueda única.

Tengo una clase que define un diccionario estático, luego intenta definir un subconjunto de ese diccionario, también estáticamente.

Así, como ejemplo de juguete:

class example(object): 
    first_d = {1:1,2:2,3:3,4:4} 
    second_d = dict((k,first_d[k]) for k in (2,3))

Esto produceNameError: global name 'first_d' is not defined

¿Cómo debo hacer esta referencia? Parece que este patrón funciona en otros casos, por ejemplo:

class example2(object):
    first = 1
    second = first + 1

Respuestas a la pregunta(3)

Su respuesta a la pregunta