# Exclude Nones

This function block is designed to filter out `None` values from a provided list of data. It simplifies data handling by ensuring that the output only contains valid entries.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Data List` This input accepts a list of various data elements, which may include `None` values.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Filtered Data List` This output provides the list obtained after removing all `None` values from the input data list.

## 🕹️ Controls <a href="#controls" id="controls"></a>

This function block does not include additional controls as it operates directly on the input data.

## 🎨 Features <a href="#features" id="features"></a>

`Automatic Filtering` The block automatically processes the input list to exclude any `None` values, ensuring the output dataset is clean and usable.

## 📝 Usage Instructions <a href="#usage" id="usage"></a>

1. **Connect Data Source**: Connect any function block that produces a list of data to the `Data List` input.
2. **Evaluate**: Run the block to obtain the filtered list, which excludes any `None` values.

## 📊 Evaluation <a href="#evaluation" id="evaluation"></a>

When executed, this function block outputs a list that consists only of valid data entries, providing a more reliable dataset for subsequent processing.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

<details>

<summary>Combining with Other Functions</summary>

This block works well with `Batch Processing`, allowing efficient exclusion of `None` values in data batches before further operations like `Mean Value`, `Maximum`, or combining lists with `Batch Concatenation`.

</details>

<details>

<summary>Using with Logic Operations</summary>

You can connect this block with `Logic Operations` function block after filtering to check if all items in the filtered list meet specific conditions.

</details>

<details>

<summary>Optimizing Data Flow</summary>

To streamline data handling, use this block right after any data input to ensure that subsequent blocks operate on verified data, reducing errors related to `None` values.

</details>

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

<details>

<summary>No Change in Output</summary>

If you notice that the output list remains unchanged, verify that the input list indeed contains `None` values. If it does not, the output will be the same as the input.

</details>

<details>

<summary>No Output</summary>

If the block does not output anything, check if the connected data input has been set correctly. Make sure that the input is generating data during evaluation.

</details>
