【发布时间】:2014-06-07 17:57:21
【问题描述】:
子类化 frozenset 和 set 在 iterables 方面似乎不一样。尝试运行以下 MWE:
class MonFrozenSet(frozenset):
def __new__(self, data):
super(MonFrozenSet,self).__init__(data)
return self
class MonSet(set):
def __init__(self, data):
super(MonSet,self).__init__(data)
x=(1,2,3,4)
A=MonSet(x)
B=MonFrozenSet(x)
for y in A: #Works
print y
for y in B: #Doesn't work
print y
第二个for 返回:
for y in B:
TypeError: 'type' object is not iterable
知道如何解决这个问题吗?
如果您问自己为什么要使用frozenset,答案是我正在尝试创建一组元组。元组的集合将是frozenset,元组的集合将是一个集合。
我使用 Python-2.7
【问题讨论】:
标签: python python-2.7 types set subclassing