Рубрики
Без рубрики

Перестановки и комбинации с использованием Python

В этой статье мы узнаем, как найти перестановки и комбинации, используя Python.

Автор оригинала: Pankaj Kumar.

В этой статье мы узнаем, как найти перестановки и комбинации, используя Python.

Python предоставляет библиотеку под названием Itertools, которые содержат встроенные функции для расчета перестановок и комбинаций. Давайте быстро посмотрим на реализацию этих функций.

Импорт необходимой библиотеки

Прежде чем мы сможем использовать любую из следующих функций, нам нужно импортировать Itertools библиотека. Это сделано:

import itertools

Вышеуказанное утверждение импортирует библиотеку и образует путь для использования его функций.

Найти перестановки

Перестановка математически относится к «Организация определенных чисел или букв» Отказ Перестановки () Функция в Itertools Библиотека делает именно это.

1. Перестановки строки Python

Если нам дано Python String И попросил выяснить, все способы его письма могут быть организованы, то задача может быть легко достигнута по Перестановки () функция.

import itertools

st = "ABC"

per = itertools.permutations(st)

for val in per:
	print(*val)

Выход:

A B C
A C B
B A C
B C A
C A B
C B A

Функция Перестановки () берет аргумент строка и обеспечивает Itertools объект. В случае, если мы пытаемся распечатать переменную «за» напрямую мы сделаем следующее:


Поэтому необходимо запустить цикл для печати каждой записи.

2. Перестановки нескольких чисел

Персидиторы () Функция принимает примерный аргумент, поэтому для того, чтобы узнать перестановки чисел, нам нужно пройти номера в виде списка, установленного или кортеж Отказ

import itertools

values = [1, 2, 3]

per = itertools.permutations(values)

for val in per:
	print(*val)

Выход:

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

В приведенных выше методах рассчитать перестановки, мы включаем все номера или буквы. Есть возможность ограничить количество элементов в перестановках.

3. Перестановки с определенным количеством элементов

Похоже, к понятию «NPR» , в какие государства «Организация r элементы из N» , это может быть достигнуто путем прохождения целого числа после набора элементов.

import itertools

values = [1, 2, 3, 4]

per = itertools.permutations(values, 2)

for val in per:
	print(*val)

Выход:

1 2
1 3
1 4
2 1
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3

В приведенном выше фрагменте кода Перестановки () Функция просят организовать только 2 элемента одновременно из списка указанных номеров.

Найти комбинации

Термин комбинации относятся к способам получения элементов из набора объектов. Itertools Библиотека предоставляет метод Комбинации () Для именно эта функциональность.

Вот одно следует отметить, что, выбирая набор объектов не включает в себя аранжировку. Комбинации () Функция принимает два аргумента:

  1. Набор ценностей
  2. Целое число, обозначающее количество значений, которые должны быть выбраны для комбинации.

1. Комбинации для букв в слове

Учитывая слово, если нам нужно найти все комбинации, содержащие ровно 2 буквы от слова, то Комбинации () это функция.

import itertools

st = "ABCDE"

com = itertools.combinations(st, 2)

for val in com:
	print(*val)

Выход:

A B
A C
A D
A E
B C
B D
B E
C D
C E
D E

2. Комбинации набора чисел

Как и результат комбинаций, мы получили для букв в слове, он может быть достигнут для чисел в списке.

import itertools

values = [1, 2, 3, 4]

com = itertools.combinations(values, 2)

for val in com:
	print(*val)

Выход:

1 2
1 3
1 4
2 3
2 4
3 4

Примечание: Сгенерированные комбинации основаны на значениях индекса каждого объекта, а не их фактическими значениями, поэтому в случае, если какое-либо значение повторяется, то функция печатает аналогичные комбинации, думая, что каждое значение отличается.

3. Комбинации для повторных чисел

Чтобы дальше объяснить вышеизложенное Примечание Давайте запустим пример для этого.

import itertools

values = [1, 1, 2, 2]

com = itertools.combinations(values, 2)

for val in com:
	print(*val)

Выход:

1 1
1 2
1 2
1 2
1 2
2 2

Результатом является поиск самоуверенности, поскольку числа в списке повторяются.

4. Комбинации чисел с самой

Есть еще одна функция, связанная с перестановками и комбинациями в Itertools Библиотека под названием Комбинация_With_replace () Отказ Эта функция является вариацией Комбинации () Функция, с небольшим разницей, что включает комбинации элементов с самими собой.

import itertools

values = [1, 2, 3, 4]

com = itertools.combinations_with_replacement(values, 2)

for val in com:
	print(*val)

Выход:

1 1
1 2
1 3
1 4
2 2
2 3
2 4
3 3
3 4
4 4

Мы можем видеть четкое различие вышеуказанного выхода с вывода с одинаковыми параметрами при передаче Комбинации () функция.

Есть комбинации чисел с собой, как есть несколько экземпляров их в списке. Это в основном происходит, потому что, когда мы выбираем элемент из списка, приведенная выше функция, снова помещает одинаковое значение, чтобы получить комбинации с собой.

Это суммирует тему перестановок и комбинаций с использованием Python.

Заключение

Применение перестановок и комбинаций обширно в области математики. Способы, объясненные в этом руководстве, пригодны пригодны при решении проблем в отношении таких математических методов.

Мы надеемся, что эта статья легко следовать. Не стесняйтесь комментировать ниже для запросов и предложений.