Uzyskiwanie dostępu do zmiennych klas z rozumienia listy w definicji klasy

Jak uzyskać dostęp do innych zmiennych klasy z rozumienia listy w definicji klasy? Poniższe działa w Pythonie 2, ale nie działa w Pythonie 3:

class Foo:
    x = 5
    y = [x for i in range(1)]

Python 3.2 podaje błąd:

NameError: global name 'x' is not defined

PróbowaćFoo.x też nie działa. Jakieś pomysły, jak to zrobić w Pythonie 3?

Nieco bardziej skomplikowany przykład motywacyjny:

from collections import namedtuple
class StateDatabase:
    State = namedtuple('State', ['name', 'capital'])
    db = [State(*args) for args in [
        ['Alabama', 'Montgomery'],
        ['Alaska', 'Juneau'],
        # ...
    ]]

W tym przykładzieapply() byłoby godnym obejściem, ale niestety zostało usunięte z Pythona 3.

questionAnswers(5)

yourAnswerToTheQuestion