pythonでCombinationっぽい探索

#!/usr/bin/env python

def make_sub(in_li, pre_li):
    ans_li = []
    result_li = []
    total = -1
    for main_li in in_li:
        for index in range(len(main_li)):
            sub_li = main_li[index+1:]
            total += 1
            if sub_li == []: continue
            result_li.append(sub_li)
            for sub in sub_li:
                ans_li.append(pre_li[total]+[sub])
    return result_li, ans_li

def run():
    n = 5
    k = 3
    input_li = [1, 2, 3, 4, 5]
    ans_li = [[i] for i in input_li]
    result_li = [input_li]
    for K in range(k-1):
        result_li, ans_li = make_sub(result_li, ans_li)
    print(ans_li)

if __name__ == '__main__':
    run()