---
title: "Multiple filters in list comprehension in Erlang"  
description: "Multiple filters in list comprehension in Erlang"  
author: "Anonymous User"  
published: 2015-05-22  
updated: 2015-05-22  
canonical: https://www.mindstick.com/forum/23257/multiple-filters-in-list-comprehension-in-erlang  
category: "erlang"  
tags: ["functional programming", "concurrent programming", "otp"]  
reading_time: 1 minute  

---

# Multiple filters in list comprehension in Erlang

[Say](https://answers.mindstick.com/qa/116645/a1-wreckers-reviews-what-do-customers-say) I have a list that contains [weather](https://yourviews.mindstick.com/view/139/changing-weather-is-this-only-tip-of-an-ice-berg):\

```
1> Weather = [{toronto, rain}, {montreal, storms}, {london, fog},     {paris, sun}, {boston, fog}, {vancouver, snow}].
```

To get foggy places, I could do this:\

```
2> FoggyPlaces = [X || {X, fog} <- Weather].[london,boston]
```

[Now](https://yourviews.mindstick.com/view/81402/it-s-liberals-vs-progressives-in-us-politics-now) I want to [retrieve](https://www.mindstick.com/forum/34400/how-to-retrieve-form-values-in-controller-action) places that are both foggy and snowy. I tried this, but it retrieves only snowy places,\

```
3> FoggyAndSnowyPlaces = [X || {X, fog} <- Weather, {X,snow} <- Weather].[vancouver,vancouver]
```

where I was expecting [london,boston,vancouver].\
How can I include [multiple](https://www.mindstick.com/blog/12797/iowa-is-expected-to-see-heavy-growth-in-multiple-sectors) [filters](https://www.mindstick.com/forum/156119/how-to-use-filters-in-angularjs)?

## Replies

### Reply by Anonymous User

```
FoggyAndSnowyPlaces = [X || {X, Y} <- Weather, (Y == fog) or (Y == snow)].
```

You are confusing generators (Pattern <- List) and filters (boolean conditions). Multiple generators work like nested loops in other languages, so in your 3> you get vancouver twice because the first generator produces two values.


---

Original Source: https://www.mindstick.com/forum/23257/multiple-filters-in-list-comprehension-in-erlang

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
