在python中遍历命名元组的元素

问题描述 投票:21回答:2

我有一个命名的元组,我可以像这样分配值:

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

有没有一种方法可以遍历命名元组的元素?我尝试这样做,但是不起作用:

for fld in self.CFTs._fields:
                self.CFTs.fld= numpy.zeros(shape=(self.yshape, self.xshape))
python namedtuple
2个回答
28
投票

namedtuple是一个元组,因此您可以遍历普通元组:


0
投票
from collections import namedtuple
point = namedtuple('Point', ['x', 'y'])(1,2)
for k, v in zip(point._fields, point):
    print(k, v)
© www.soinside.com 2019 - 2024. All rights reserved.