# Grouping Calcuted value schedule List

**URL:** <https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837>\
**Category:** Lists-Logic\
**Created:** [May 19, 2023, 11:08pm UTC](https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837 "2023-05-19T23:08:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![saurabh.j](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@saurabh.j](https://forum.dynamobim.com/u/saurabh.j)\
**Post date:** [May 19, 2023, 11:08pm UTC](https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837/1 "2023-05-19T23:08:18Z")

</div>

I want to group the Calculated value list according to level and have sum of that parameter.I was able to get the calculated value from the list but could not able to group it and sum it up

 ![Revit_IVco3yOED4](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/b/9/b98c4bbfdeed7a5debdd47b9b01933156db5b4c3.png)  
so i have one list [a,a,b,b,c,c,d] and another [0,0,2,3,12,3,4] i want the result to be [[a,0,0],[b,2,3],[c,12,3],[d,4]]

---

<div class="post-metadata">

**Author:** ![saurabh.j](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@saurabh.j](https://forum.dynamobim.com/u/saurabh.j)\
**Post date:** [May 19, 2023, 11:10pm UTC](https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837/3 "2023-05-19T23:10:23Z")

</div>

what i really wants

 ![mspaint_iKuExG6LRo](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/6/c/6c5ef8d6fe7e01553cd71f929824949a265106de.png)

---

<div class="post-metadata">

**Author:** ![saurabh.j](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@saurabh.j](https://forum.dynamobim.com/u/saurabh.j)\
**Post date:** [May 19, 2023, 11:11pm UTC](https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837/4 "2023-05-19T23:11:09Z")

</div>

and my dynamo script is

 ![GFA CALCULATION_2023-05-19_03-59-20](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/9/4/946bc680ce830b7896413da0acfaee72348d9ece.png)

---

<div class="post-metadata">

**Author:** ![saurabh.j](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@saurabh.j](https://forum.dynamobim.com/u/saurabh.j)\
**Post date:** [May 19, 2023, 11:58pm UTC](https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837/6 "2023-05-19T23:58:25Z")

</div>

i got it working with def combine\_lists(list1, list2):  
result =   
occurrences = defaultdict(list)

```
# Group the occurrences of each element in list1
for elem, num in zip(list1, list2):
    occurrences[elem].append(num)

# Create the result list with the grouped elements and their occurrences
for elem, nums in occurrences.items():
    result.append([elem] + nums)

return result

```

---

<div class="post-metadata">

**Author:** ![AmolShah](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/amolshah/32/103244_2.png) [@AmolShah](https://forum.dynamobim.com/u/AmolShah)\
**Post date:** [May 21, 2023, 6:12pm UTC](https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837/7 "2023-05-21T18:12:39Z")

</div>

Hi @saurabh.j,

You can try something like this in case if you need to preserve the list order. This options doesn’t merge 0,0,5 under a.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/4/9/497a6e34723f2aa685b7a1475f43855278f5ff51.png)

```auto
from itertools import groupby
OUT = [([key] + [x[1] for x in group]) for key, group in groupby(zip(IN[0], IN[1]), key=lambda x: x[0])]

```

---

<div class="post-metadata">

**Author:** ![saurabh.j](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@saurabh.j](https://forum.dynamobim.com/u/saurabh.j)\
**Post date:** [May 23, 2023, 4:11pm UTC](https://forum.dynamobim.com/t/grouping-calcuted-value-schedule-list/89837/8 "2023-05-23T16:11:47Z")

</div>

> [@AmolShah](#):
>
> ```auto
> from itertools import groupby
> OUT = [([key] + [x[1] for x in group]) for key, group in groupby(zip(IN[0], IN[1]), key=lambda x: x[0])]
> 
> ```

thank you this works better
