Если вы хотите сделать это без итерации по всему списку , но довольно лениво, если нужно, вы можете использовать itertools.imap
:
itertools.imap(lambda x: "".join(x), itertools.permutations("0123456789"))
(обратите внимание, что я 'я не использую list()
для результата permutations
, поэтому он настолько ленив, насколько это возможно)
Или, как указано в комментариях, здесь также будет работать простое выражение генератора:
("".join(x) for x in itertools.permutations("0123456789"))
itertools.imap
имеет дополнительное преимущество, заключающееся в возможности применять одну и ту же функцию к множеству итераций с удобным синтаксисом (просто добавляя их в качестве последующих аргументов), но это не является необходимым для этого конкретного использования, поскольку у нас есть только однаитерацию