すべて()
def all(iterable):
for element in iterbale:
if not element:
return False
return True
どれか()
def any(iterable):
for element in iterable:
if element:
return True
return False
フィルタ()
def filter(function, iterable):
return (item for item in iterable if function(item))
地図()
def map(function, iterable):
return (function(item) for item in iterable)
捕虜()
def pow(x, y):
return x**y
郵便番号()
def zip(*iterables):
# zip('ABCD', 'xy') --> Ax By
sentinel = object()
iterators = [iter(it) for it in iterables]
while iterators:
result = []
for it in iterators:
elem = next(it, sentinel)
if elem is sentinel:
return
result.append(elem)
yield tuple(result)