перестановки списков python

Возможный дубликат:
Как сгенерировать все перестановки списка в Python

Я хочу найти все перестановки элементов в списке. но затем с некоторыми условиями, наложенными .. ммм .. Наверное, пример поможет мне лучше объяснить.

У меня есть четыре списка

["1"],["0"],["a","b","c],["d","e","f"] 

Теперь я хочу иметь перестановки следующим образом:

  "10ad" ,"10bd","10cd","10ae", "10be" ,"10bf".. 

и так далее..

Итак, в основном каждый элемент (с каждым элементом)? Теперь я знаю самый наивный способ сделать это. Но что такое питонический способ сделать это? если есть какие-то ??? Какие-либо предложения

благодаря

Я думаю, вы хотите использовать модуль itertools , который является частью стандартного дистрибутива Python.

Например:

 import itertools a = ["1"] b = ["0"] c = ["a","b","c"] d = ["d","e","f"] for item in itertools.product(a, b, c, d): print(item) 

Изменить. Чтобы быть ясным, функция itertools.product предоставляет все комбинации для всех элементов во входных списках, а не для перестановок . Но, основываясь на формулировке OP, я думаю, что это то, чего он действительно хочет.