При первом знакомстве со встроенными методами языка python часто возникает вопрос чем отличаются permutations и combinations? Когда стоит исполь зовать одно, а когда другое?
Главное отличие заключаются в способе создания комбинаций:
1. permutations(iterable, r):
– permutations генерирует все возможные перестановки элементов из итерируемого объекта iterable длиной r.
– Элементы в каждой перестановке могут встречаться в разных порядках.
– Например, если iterable = [1, 2, 3], и r = 2, то будут сгенерированы следующие перестановки: (1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2).
2. combinations(iterable, r):
– combinations генерирует все возможные комбинации элементов из итерируемого объекта iterable длиной r.
– Комбинации содержат элементы в исходном порядке.
– Например, если iterable = [1, 2, 3], и r = 2, то будут сгенерированы следующие комбинации: (1, 2), (1, 3), (2, 3).
Таким образом, если вам нужно перебрать все возможные комбинации без сохранения порядка элементов – воспользуйтесь permutations(). Если же порядок важен – combinations().