w3resource

Python: Return every element that exists in any of the two given lists once, after applying function to each element of both


Union of Lists with Function

Write a Python program to get every element that exists in any of the two given lists once, after applying the provided function to each element of both.

  • Create a set by applying fn to each element in x.
  • Use a list comprehension in combination with fn on y to only keep values not contained in the previously created set, _x.
  • Finally, create a set from the previous result and x and transform it into a list.

Sample Solution:

Python Code:

# Define a function 'union_by_el' that takes two lists 'x' and 'y' and a function 'fn' as input.
def union_by_el(x, y, fn):
    # Create a set '_x' containing the results of applying the 'fn' function to each element in 'x'.
    _x = set(map(fn, x))
    # Create a list containing elements that are in 'x' and also in 'y' but only if the result of applying 'fn' to them is not in '_x'.
    result = x + [item for item in y if fn(item) not in _x]
    # Convert the result list to a set to eliminate duplicates and then back to a list.
    return list(set(result))

# Import the 'floor' function from the 'math' module.
from math import floor

# Display the result of applying 'union_by_el' to two example lists using the 'floor' function.
print(union_by_el([4.1], [2.2, 4.3], floor)) 

Sample Output:

[2.2, 4.1]

Flowchart:

Flowchart: Return every element that exists in any of the two given lists once, after applying function to each element of both.

For more Practice: Solve these Related Problems:

  • Write a Python program to compute the union of two lists after mapping each element to a common format using a given function.
  • Write a Python program to find every unique element that exists in either of two lists after stripping whitespace from each element.
  • Write a Python program to merge two lists into a union set after converting numeric strings to floats via a provided function.
  • Write a Python program to compute the union of two lists, ensuring no duplicates, after applying a transformation function to all elements.

Go to:


Previous: Write a Python program to get the symmetric difference between two lists, after applying the provided function to each list element of both.
Next: Write a Python program to find the index of the first element in the given list that satisfies the provided testing function.

Python Code Editor:

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.