# Python Coding challenge - Day 63 | What is the output of the following Python code?

### Code -

l=[1, 0, 2, 0, 'hello', '', []]

print(list(filter(bool, l)))

### Solution -

Step 1: Define a list l with various elements:

l = [1, 0, 2, 0, 'hello', '', []]

This list contains a mix of integers, strings, an empty string, and an empty list.

Step 2: Use the filter() function with bool as the filtering function:

filtered_list = filter(bool, l)

In this step, the filter() function is applied to the list l. The bool function is used as the filtering function. The bool function converts each element of the list into a Boolean value (True or False) based on its truthiness. Elements that evaluate to True are kept, and elements that evaluate to False are removed.

Step 3: Convert the filtered result into a list:

filtered_list = list(filtered_list)

The filter function returns an iterator, so to get the final result as a list, we use the list() constructor to convert the filtered result into a list.

Step 4: Print the filtered list:

print(filtered_list)

This line prints the filtered list to the console.

Step 5: The output is as follows:

[1, 2, 'hello']

In the filtered list, all elements that evaluate to False (0, empty string, and empty list) have been removed. The resulting list contains only the elements that are considered "truthy" according to Python's boolean conversion rules.