1. Basic Math Operations Pipeline
def add(x, y):
return x + y
def multiply(x, y):
return x * y
def subtract(x, y):
return x - y
def pipe(value, *functions):
for func, arg in functions:
value = func(value, arg)
return value
# Example
result = pipe(5, (add, 3), (multiply, 4), (subtract, 10))
print(result)
22
2. String Manipulation Pipeline
def append_text(text, suffix):
return text + suffix
def replace_characters(text, old, new):
return text.replace(old, new)
def pipe(value, *functions):
for func, *args in functions:
value = func(value, *args)
return value
# Example
result = pipe("hello", (append_text, " world"), (replace_characters, "world", "Python"))
print(result)
hello Python
3. List Transformation Pipeline
def append_element(lst, element):
lst.append(element)
return lst
def reverse_list(lst):
return lst[::-1]
def multiply_elements(lst, factor):
return [x * factor for x in lst]
def pipe(value, *functions):
for func, *args in functions:
if args: # If args is not empty
value = func(value, *args)
else: # If no additional arguments are needed
value = func(value)
return value
# Example
result = pipe([1, 2, 3], (append_element, 4), (reverse_list,), (multiply_elements, 2))
print(result)
[8, 6, 4, 2]
4. Dictionary Manipulation Pipeline
def add_key(d, key_value):
key, value = key_value
d[key] = value
return d
def increment_values(d, inc):
return {k: v + inc for k, v in d.items()}
def filter_by_value(d, threshold):
return {k: v for k, v in d.items() if v > threshold}
def pipe(value, *functions):
for func, arg in functions:
value = func(value, arg)
return value
# Example
result = pipe({'a': 1, 'b': 2}, (add_key, ('c', 3)), (increment_values, 1), (filter_by_value, 2))
print(result)
{'b': 3, 'c': 4}
0 Comments:
Post a Comment