I wonder if there is function like this:

```
my_fun(my_list, *arg)

```

* where arg is list or proportion
* every element of \*arg is float value between 0 and 1
* sum of arg elements must <=1

For example:

```
my_list = ['a','b','c','d','f',1, 2, 3, 4, 5]
fun_i_am_looking_for (my_list, 0.4, 0.4, 0.1)
result = [['a', 2, 5, 'd'], ['c', 1, 4, 3], ['f']]

```

As we can see sum of `arg` is 0.9 So one element from `my_list` is not presented in the result.

I know there is: 

```
numpy.random.permutate(dataframe.index)

```

But it just randomizes a collection, while I want to get a smaller list with a length defined as proportion or percent. I don't want the sublists to be even. If such a function does not exist I'd write my own, just looking for ready solutions.