Я понял, что невозможно применить list(filter(_,_))
в __new__
при определении класса.Однако возможно использовать фильтр или список отдельно.
Консоль выдает эту ошибку:
TypeError: 'list' object is not callable
Это не работает:
class test():
def __init__(self):
self.mean = [1,2,3,4]
bool_list=[True,False,True,True]
class tracegrad_set():
def __new__(cls,obj,bool_list):
list(filter(bool_list,obj.mean))
obj.mean= obj.mean[:2]
return obj
a=test()
b=tracegrad_set(a,bool_list)
Между тем это
class test():
def __init__(self):
self.mean = [1,2,3,4]
bool_list=[True,False,True,True]
class tracegrad_set():
def __new__(cls,obj,bool_list):
filter(bool_list,obj.mean)
obj.mean= obj.mean[:2]
return obj
a=test()
b=tracegrad_set(a,bool_list)
Или это
class test():
def __init__(self):
self.mean = [1,2,3,4]
bool_list=[True,False,True,True]
class tracegrad_set():
def __new__(cls,obj,bool_list):
list(bool_list,obj.mean)
obj.mean= obj.mean[:2]
return obj
a=test()
b=tracegrad_set(a,bool_list)