我想扩展列表功能,所以我们可以使用如下。如何将此方法添加到列表对象?
# list([1,2,3,4,5]).even() should return [2,4]
答案 0 :(得分:1)
你不能修补list
,因为它是在C扩展模块中定义的,因此在这个意义上是不可改变的。您可以继承list:
class mylist(list):
def even(self):
return [x for x in self if x % 2 == 0]
>>> mylist([1,2,3,4,5]).even()
[2, 4]