Hello!

So I’ve been looking for this function for a while and thought I should share the sollution now when I have figured out an answer.

The question was - How do I get every possible combination of a set of branches in a data tree?

After some digging and trying out python in grasshopper I came up with the following sollution:

```
import itertools as it
import Grasshopper as gh
y = x.BranchCount
Kombinationer = it.permutations(range(y))
a = []
dtb = gh.DataTree[object]()
for index,value in enumerate(Kombinationer):
for ie,ve in enumerate(value):
branchList = x.Branch(ve)
dtb.AddRange(branchList,gh.Kernel.Data.GH_Path(index,ie))
a = dtb
```

It takes a datatree “x” and outputs all permutations of it’s branches as “a” while keeping the order of the items in each branch intact.

When you go above a length of 7 branches, it starts to become slow, so if anyone has an Idea of how to make it faster, that would be great to know!

Permutations of datatree.gh (15.7 KB)