这与Element by element comparison in tuple to return set of sets - python有关。
由于我的嵌套循环效率不高,我尝试了该帖子中给出的建议。我使用了以下代码,
seen=set()
def pairs(LoT):
while LoT:
f=LoT.pop(0)
for e in LoT:
se=frozenset([f, e])
if se not in seen:
seen.add(se)
yield se
m = [[list_attr[i] for i, t in enumerate(zip(*pair)) if t[0]!=t[1]] for pair in pairs(rows)]
skt = set(frozenset(temp) for temp in m)
但是,在使用这种方法时我遇到了内存错误,有人可以帮助我。
skt = set(frozenset([list_attr[i] for i, t in enumerate(zip(*pair)) if t[0]!=t[1]]) for pair in pairs(rows))
File "C:*******Rough.py", line 139, in pairs
seen.add(se)
MemoryError