class superList(list):
def __sub__(self,b):
a = self[ :]
b = b[ : ]
while len(b) > 0:
element_b = b.pop()
if element_b in a:
a.remove(element_b)
return a
print superList([1,2,3])-superList([3,4])
不是很明白这里的__sub__()作用,以及下面的a = self[:],b=b[:]
新手,看的一个博客教程,遇到这个问题~
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
A-B 么。
这是一个对 list 类的运算符重载的示例。如果直接用 lista - listb,会报错,因为 python 的 list 不支持这种运算。
题主可以尝试重载一下
__add__试试,正常的 add,就是加嘛,但我们这里让它变成减。