I need to generate all combinations without repetitions from an array, I read some about it, that suggest to use recursion

I have an array 

```
arr = [["A"], ["B"], ["C"], ["D"], ["E"], ["F"]]

```

I read that I can solved this problem using recursion like

```
function combinations(arr, n, k)
    //do something 
    //then
    return combinations(arr, n, k)

```

In my case [A, B, C, D] is equivalent to [A, B, D, C].

I found this example in C++

<http://www.martinbroadhurst.com/combinations.html>

But I couldn't reproduce it.

Any suggestion how can I solve this?

PD: I'm using Python, but I more interested in the algorithm than the language.