Variável de classe de referência em uma compreensão de outra variável de classe

Essa pode ser uma pergunta simples, mas estou com dificuldades para fazer uma pesquisa exclusiva.

Eu tenho uma classe que define um dicionário estático e, em seguida, tenta definir um subconjunto desse dicionário, também estaticamente.

Então, como um exemplo de brinquedo:

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))

Isso produzNameError: global name 'first_d' is not defined

Como devo estar fazendo essa referência? Parece que esse padrão funciona em outros casos, por exemplo:

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

questionAnswers(3)

yourAnswerToTheQuestion