在python3中使用while循环迭代类成员

2024-10-03 19:31:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一组代码,它获取一个充满简单对象的列表,遍历这些对象并将它们相互比较。这个列表有30个对象,对象有8个类成员。你知道吗

def createSijkTest(data):
    Sijk = np.empty(getDimensions(data))
    x = 0
        for item0 in data:
            y = 0
            for item1 in data:
                z = 0
                while z < 8:
                    member0 = item0.__dict__.items()
                    member1 = item1.__dict__.items()
                    if member0[z] == member1[z]:
                        Sijk[x,y,z] = 1
                    else:
                        Sijk[x,y,z] = 0
                z += 1
            y += 1
        x += 1

输出应该是一个30x30x8维的numpy数组。我得到一个错误:TypeError:'dict\u items'对象不支持索引。我明白我为什么会出错,但我不知道如何修复它。你知道吗

对象的代码是:

class row:
    def __init__(self, L):
        self.dDate = []
        self.name = []
        self.dType = []
        self.city = []
        self.state = []
        self.rCommittee = []
        self.employer = []
        self.amount = []
        self.dDate.append(L[0])
        self.dType.append(L[1])
        self.name.append(L[2])
        self.city.append(L[3])
        self.state.append(L[4])
        self.rCommittee.append(L[5])
        self.employer.append(L[6])
        self.amount.append(float(L[7]))

Tags: 对象代码inself列表fordatadef