ex06 part1 ok

This commit is contained in:
hugogogo
2025-10-26 20:26:14 +01:00
parent cba9d9be86
commit 6f83006187
2 changed files with 31 additions and 0 deletions

12
d00/ex06/ft_filter.py Normal file
View File

@@ -0,0 +1,12 @@
# filter https://docs.python.org/3.10/library/functions.html#filter
def ft_filter(function, iterable):
"""filter(function or None, iterable) --> filter object
Return an iterator yielding those items of iterable for which function(item)
is true. If function is None, return the items that are true."""
# iter https://docs.python.org/3.10/library/functions.html?highlight=iter#iter
if function is None:
return iter([item for item in iterable if item])
else:
return iter([item for item in iterable if function(item)])

19
d00/ex06/tester.py Normal file
View File

@@ -0,0 +1,19 @@
from ft_filter import ft_filter
print("- 0 filter :\n\n", filter.__doc__)
print("\n ft_filter :\n\n", ft_filter.__doc__)
print("")
msg = "Hello World"
print("- 1 filter :", filter(None, msg))
print(" ft_filter :", ft_filter(None, msg))
print("- 2 filter :", filter(str.isupper, msg))
print(" ft_filter :", ft_filter(str.isupper, msg))
print("- 3 filter :", list(filter(None, msg)))
print(" ft_filter :", list(ft_filter(None, msg)))
print("- 4 filter :", list(filter(str.isupper, msg)))
print(" ft_filter :", list(ft_filter(str.isupper, msg)))