# Using sequential conditions inside sum()

**URL:** <https://discourse.julialang.org/t/using-sequential-conditions-inside-sum/47342>\
**Category:** New to Julia\
**Created:** [September 26, 2020, 11:38pm UTC](https://discourse.julialang.org/t/using-sequential-conditions-inside-sum/47342 "2020-09-26T23:38:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![asavasci](https://avatars.discourse-cdn.com/v4/letter/a/eb8c5e/32.png) [@asavasci](https://discourse.julialang.org/u/asavasci)\
**Post date:** [September 26, 2020, 11:38pm UTC](https://discourse.julialang.org/t/using-sequential-conditions-inside-sum/47342/1 "2020-09-26T23:38:52Z")

</div>

How to define sequential conditions inside sum() ?  
For example, embedding the block

```julia
tot=0
for j in Set1
     if (i,j) in Set2 condition1
        if k in Set3[(i,j)] condition2
           tot = tot + f(i,j,k)
        end
      end
end

```

inside sum(), keeping the condition2 dependent on condition1 concisely as follows

`sum( f(i,j,k) for j in Set1 if ((i,j) in Set2) if (k in Set3[(i,j)]) )`

---

<div class="post-metadata">

**Author:** ![tomerarnon](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomerarnon/32/3170_2.png) [@tomerarnon](https://discourse.julialang.org/u/tomerarnon)\
**Post date:** [September 27, 2020, 12:46am UTC](https://discourse.julialang.org/t/using-sequential-conditions-inside-sum/47342/2 "2020-09-27T00:46:05Z")

</div>

It can be done, but it is really not good style. Your first way of doing it is almost certainly better.

```julia
julia> someset = reshape([1], 1, 1)
1×1 Array{Int64,2}:
 1

# the condition is only true when (i, j, k) == (1,1,1)
julia> sum( f(i,j,k) for i in 1:3 for j in 1:3 for k in 1:3 if (i,j) in [(1,1)] && k in someset[i, j])
3

```
