来自BaseClass.__subclasses__()
:
[ClassA, ClassB]
我希望得到类似的内容:
((ClassA, ), (ClassB, ))
我试过这个,但它不起作用:
[tuple(x()) for x in BaseClass.__subclasses__()]
答案 0 :(得分:0)
如果您想将列表转换为元组,其中每个列表项本身都是一元组,请尝试:
tuple(map(tuple, BaseClass.__subclasses__()))
答案 1 :(得分:0)
您可以使用以下内容:
tuple((x,) for x in BaseClass.__subclasses__())
参见下面的演示:
>>> class BaseClass:
... pass
...
>>> class ClassA(BaseClass):
... pass
...
>>> class ClassB(BaseClass):
... pass
...
>>> BaseClass.__subclasses__()
[<class '__main__.ClassA'>, <class '__main__.ClassB'>]
>>>
>>> tuple((x,) for x in BaseClass.__subclasses__())
((<class '__main__.ClassA'>,), (<class '__main__.ClassB'>,))
>>>