tuplas recorrer listas lista elementos diccionarios diccionario dentro agregar python namedtuple

recorrer - Bucle sobre elementos de la tupla con nombre en Python



recorrer diccionario python (1)

Tengo una tupla nombrada a la que asigno valores como este:

class test(object): self.CFTs = collections.namedtuple(''CFTs'', ''c4annual c4perren c3perren ntfixing'') self.CFTs.c4annual = numpy.zeros(shape=(self.yshape, self.xshape)) self.CFTs.c4perren = numpy.zeros(shape=(self.yshape, self.xshape)) self.CFTs.c3perren = numpy.zeros(shape=(self.yshape, self.xshape)) self.CFTs.ntfixing = numpy.zeros(shape=(self.yshape, self.xshape))

¿Hay alguna manera de recorrer los elementos de la tupla nombrada? Intenté hacer esto, pero no funciona:

for fld in self.CFTs._fields: self.CFTs.fld= numpy.zeros(shape=(self.yshape, self.xshape))


namedtuple es una tupla, por lo que puede iterar como una tupla normal:

>>> from collections import namedtuple >>> A = namedtuple(''A'', [''a'', ''b'']) >>> for i in A(1,2): print i 1 2

pero las tuplas son inmutables, por lo que no puedes cambiar el valor

Si necesita el nombre del campo puede usar:

>>> a = A(1, 2) >>> for name, value in a._asdict().iteritems(): print name print value a 1 b 2 >>> for fld in a._fields: print fld print getattr(a, fld) a 1 b 2