feat(Array): add dedup, partition method

This commit is contained in:
Shunsuke Shibayama 2023-02-07 23:59:23 +09:00
parent 3a14bbe37e
commit 89d830c364
3 changed files with 26 additions and 4 deletions

View file

@ -1,8 +1,11 @@
class Array(list):
def dedup(self):
return Array(list(set(self)))
def dedup_by(self, f):
return Array(list(set(map(f, self))))
def dedup(self, f=None):
if f == None:
return Array(list(set(self)))
else:
return Array(list(set(map(f, self))))
def push(self, value):
self.append(value)
return self
def partition(self, f):
return Array(list(filter(f, self))), Array(list(filter(lambda x: not f(x), self)))