# namedtuple for 2.5

def namedtuple(name, fields):
    from operator import itemgetter
    fields = fields.split() if hasattr(fields,'split') else fields
    attrs = dict((k,property(itemgetter(i))) for i,k in enumerate(fields))
    attrs.update({
     '__new__': (lambda cls,*xs: tuple.__new__(cls, xs)),
     '_make': classmethod(lambda cls,xs: cls(*xs)),
     '_fields': tupple(fields),
     })
    return type(name, (tuple,), attrs)

便利なので簡易版書いてみた。backportされないかなぁ。