Thursday, 5 September 2024

Flexible Chaining Without External Libraries



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

Popular Posts

Categories

100 Python Programs for Beginner (49) AI (34) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (173) C (77) C# (12) C++ (82) Course (67) Coursera (226) Cybersecurity (24) data management (11) Data Science (128) Data Strucures (8) Deep Learning (20) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (34) Hadoop (3) HTML&CSS (47) IBM (25) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (59) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (3) Pandas (4) PHP (20) Projects (29) Python (929) Python Coding Challenge (351) Python Quiz (21) Python Tips (2) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (3) Software (17) SQL (42) UX Research (1) web application (8) Web development (2) web scraping (2)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses