Pythonタプルで一定の違いを行う必要がありますが、違いは私のタプルの最初の要素を考慮する必要があります。
これを達成するために、私はこのクラスのアプローチを使用して(失敗して)行いました
class Filedata(object):
def __init__(self, filename, path):
self.filename = filename
self.path = path + '\\' + filename
def __eq__(self, other):
return self.filename==other.filename
def __ne__(self, other):
return self.filename!=other.filename
def __call__(self):
return self.filename
def __repr__(self):
return self.filename
sets.pyモジュールを掘り下げると、ライブラリがitertools.ifilterfalse関数を使用して違いを生んでいることがわかりました
def difference(self, other):
"""Return the difference of two sets as a new Set.
(I.e. all elements that are in this set and not in the other.)
"""
result = self.__class__()
data = result._data
try:
otherdata = other._data
except AttributeError:
otherdata = Set(other)._data
value = True
for elt in ifilterfalse(otherdata.__contains__, self):
data[elt] = value
return result
しかし、私はこれで何も役に立つことができませんでした。