def get_combinations(words, length):
if length == 0:
return []
combinations = [[word] for word in words]
while length > 1:
lst = []
for val in combinations:
lst.extend(val + [word] for word in words)
combinations = lst[:]
length -= 1
return combinations
print(get_combinations("01", 2))
print(get_combinations("01", 3))
'''
run:
[['0', '0'], ['0', '1'], ['1', '0'], ['1', '1']]
[['0', '0', '0'], ['0', '0', '1'], ['0', '1', '0'], ['0', '1', '1'], ['1', '0', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '1', '1']]
'''