feat: add Array.d.er/Bool.d.er/Nat.d.er

This commit is contained in:
Shunsuke Shibayama 2023-02-18 00:24:25 +09:00
parent 9a131ecc53
commit 3aeb63f51b
7 changed files with 134 additions and 15 deletions

View file

@ -1,9 +1,15 @@
class Array(list):
def dedup(self, f=None):
if f == None:
def dedup(self, same_bucket=None):
if same_bucket is None:
return Array(list(set(self)))
else:
return Array(list(set(map(f, self))))
removes = []
for (lhs, rhs) in zip(self, self[1:]):
if same_bucket(lhs, rhs):
removes.append(lhs)
for remove in removes:
self.remove(remove)
return self
def push(self, value):
self.append(value)
return self