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

## Python List: Exercise - 228 with Solution

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:**

**Python Code Editor:**

**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.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics