Dlaczego itertools.permutations() zwraca listę znaków lub cyfr dla każdej permutacji, zamiast tylko zwracać ciąg znaków?Python Itertools.Permutations()
Na przykład:
>>> print([x for x in itertools.permutations('1234')])
>>> [('1', '2', '3', '4'), ('1', '2', '4', '3'), ('1', '3', '2', '4') ... ]
Dlaczego nie zwróci to?
>>> ['1234', '1243', '1324' ... ]
Dlaczego używasz mapy zamiast tego, czy nie jest to comp, gen-expr czy inna metoda. –
Myślę, że 'map (" ". Join, itertools.permutations ('1234'))' jest wystarczające. Dodanie listy() nie robi różnicy. –
@BillCheng W Pythonie 2, wynik 'map()' już jest listą, to prawda, ale pytanie dotyczyło Pythona 3. W większości przypadków powinieneś być w stanie zrobić z obiektem generowanym zwróconym przez 'map() 'w Pythonie 3, ale dla łatwiejszego testowania dodałem wyraźną konwersję do listy. –