#python
Вопрос:
from itertools import permutations
print(list(permutations(range(1,6))))
это дает только 5-значные числа, но я также хочу 3-значные и 4 — значные.
Вывод этого кода выглядит как 12543, 45321 и т.д. Все это просто дает 5-значное число.
Вывод, который я хочу, — 123, 312, 4321, а также 23415 и т. Д. Мне нужны все возможные числа из 3 цифр, 4 цифр и 5 цифр
Комментарии:
1. Пожалуйста, обновите свой вопрос, указав необходимые выходные данные.
2. Я отредактировал его, пожалуйста, обратитесь
3. Поскольку теперь вы знаете, как получить желаемый результат для 5 цифр, можете ли вы не просто написать цикл, который повторяет один и тот же код, но вместо 5, для 3, а затем для 4 цифр?
Ответ №1:
существует r
параметр, например itertools.permutations([1,2,3], r=2)
, который будет генерировать все возможные перестановки, выбирая 2 элемента: [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
Ответ №2:
Хорошо, так что просто запросите все длины отдельно:
p = []
for i in range(4, 7):
p = list(permutations(range(1, i)))
for item in p:
print(item)