16 lines
No EOL
413 B
Python
16 lines
No EOL
413 B
Python
from typing import Callable, Iterable, Optional, TypeVar
|
|
|
|
|
|
T = TypeVar("T")
|
|
def filter_none(ls: Iterable[Optional[T]]) -> filter[T]:
|
|
return filter(lambda x: x is not None, ls)
|
|
|
|
S = TypeVar("S")
|
|
def safe_map(func: Callable[[T], S], ls: Iterable[T]) -> map[Optional[S]]:
|
|
def safe_func(arg):
|
|
try:
|
|
return func(arg)
|
|
except:
|
|
return None
|
|
|
|
return map(safe_func, ls) |