Como obter todas as combinações possíveis dos elementos de uma lista?

Eu tenho uma lista com 15 números e preciso escrever um código que produza todas as 32.768 combinações desses números.

encontreialgum código (pelo Google) que aparentemente faz o que estou procurando, mas achei o código bastante opaco e tenho receio de usá-lo. Além disso, tenho a sensação de que deve haver uma solução mais elegante.

A única coisa que me ocorre seria apenas percorrer os números decimais 1 a 32768 e convertê-los em binários, e usar a representação binária como um filtro para selecionar os números apropriados.

Alguém sabe de uma maneira melhor? Usandomap(), talvez?

questionAnswers(24)

yourAnswerToTheQuestion