Python: Split values into two groups, based on the result of the given filtering function
Python List: Exercise - 217 with Solution
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:
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.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/python-exercises/list/python-data-type-list-exercise-217.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics