w3resource

Python: Split values into two groups, based on the result of the given filtering function


Split Values by Filtering Function

Write a Python program to split values into two groups, based on the result of the given filtering function.

  • Use a list comprehension to add elements to groups, based on the value returned by fn for each element.
  • If fn returns a truthy value for any element, add it to the first group, otherwise add it to the second group

Sample Solution:

Python Code:

# Define a function called 'bifurcate_by' that splits a list into two sublists based on a provided function.
def bifurcate_by(lst, fn):
    # Create two sublists: one with elements that satisfy the condition (fn(x) is True),
    # and the other with elements that do not satisfy the condition (fn(x) is False).
    return [
        [x for x in lst if fn(x)],
        [x for x in lst if not fn(x)]
    ]

# Example usage: Split a list into two sublists based on whether the elements start with 'w'.
print(bifurcate_by(['red', 'green', 'black', 'white'], lambda x: x[0] == 'w')) 

Sample Output:

[['white'], ['red', 'green', 'black']]

Flowchart:

Flowchart: Split values into two groups, based on the result of the given filtering function.

For more Practice: Solve these Related Problems:

  • Write a Python program to split a list into two groups: one with values greater than a given threshold and one with values less than or equal to it.
  • Write a Python program to partition a list of strings into two groups based on whether they contain a specific substring.
  • Write a Python program to split a list into even and odd numbers using a filtering function.
  • Write a Python program to divide a list into two lists based on a lambda function that checks for divisibility by a given number.

Python Code Editor:

Previous: Write a Python program to group the elements of a list based on the given function and returns the count of elements in each group.
Next: Write a Python program to sort one list based on another list containing the desired indexes.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.