Поиск по сайту:

Python – все возможные комбинации N кортежей


Введение

В Python кортеж — это один из типов структур данных. Кортежи состоят из элементов или элементов и больше похожи на списки. В нем есть элементы, которые нельзя изменить после объявления. Для возврата всех возможных комбинаций кортежа в первую очередь используется библиотека itertool. Процесс итерации или повторения кортежей выполняется с использованием объекта итератора, содержащего различные элементы. Чтобы вернуть все возможные комбинации в кортеже, мы можем использовать множество функций, таких как Combination(), Chain(), Product() и метод конкатенации.

Все возможные кортежи комбинаций N

Кортеж — это структура данных, состоящая из элементов, взаимозаменяемых после инициализации. Кортежам обычно присваивается значение, и они возвращают оператор в соответствии с точкой зрения пользователя. В случае возврата все возможные комбинации данных кортежей приведены ниже различными методами.

Синтаксис

combination(substr, N)

Метод Combination() используется для определения количества способов выбора строки, а пара отображаемых элементов задается как N.

Алгоритм

  • Шаг 1 — Модули импортируются в код в соответствии с потребностями функции.

  • Шаг 2 — Библиотеки, используемые в кодах, представляют собой модуль itertools для использования функций Combination() и Product().

  • Шаг 3 — Входная строка объявляется как кортеж_1 и кортеж_2 и содержит набор строковых переменных в структуре данных кортежа.

  • Шаг 4 — Объявите переменную, в которой пара элементов будет напечатана.

  • Шаг 5. Чтобы сгенерировать все возможные способы печати буквы «N», используйте такие методы, как Combination(), метод Product() и функцию Append().

  • Шаг 6 — Значение преобразования сохраняется вкомбинированном_списке.

  • Шаг 7 — Оператор печати возвращает все возможные комбинации в соответствии со значением N.

Подход

Подход 1 — Использование метода сочетания()

Подход 2 — Использование вложенного цикла

Подход 3 — Использование метода product()

Подход 1. Программа Python для отображения кортежей с использованием метода Combination():

Определен Iter_object, а также переменная длины “N” со значением 2. Этот код использует функцию Combination() для извлечения всех возможных комбинаций заданной длины. Объединенный кортеж хранится в списке с именем «комбинированный_тупле».

Пример

#itertools library is imported
import itertools 
#tuple_1 is initialized with list of values
tuple_1 = [3, 1, 7 ,5] 
#num variable is declared as 2
N=2 
#combinations() function is used to combine the list of values in two format
combined_tuples = list(itertools.combinations(tuple_1 ,N))
# It returns the tuples of the iter_object variable
print(combined_tuples)

Выход

[(3, 1), (3, 7), (3, 5), (1, 7), (1, 5), (7, 5)]

Подход 2. Программа Python для отображения кортежей с использованием вложенного цикла.

В этом подходе модуль itertool не используется, а для перебора значений кортежа, вложенного в цикл for. Два кортежа инициализируются переменным списком значений, а также определяется пустой список. Используя функцию add(), мы можем сложить два кортежа вместе и создать новый кортеж с парой элементов.

Пример

#tuple_1 and tuple_2 is initialized with a list of values
tuple_1 = (5, 7)
tuple_2 = (6, 1)
#empty list is initialized
combined_list = []
# nested for loop is used to iterate through the tuples
for one in tuple_1:
   for two in tuple_2:
      combined_list.append((one,two))

# It returns the tuples of the combined_list variable
print("All possible combinations of the tuple are:",combined_list)

Выход

All possible combinations of the tuple are: [(5, 6), (5, 1), (7, 6), (7, 1)]

Подход 3. Программа Python для отображения кортежей с использованием метода product().

Для перебора кортежей необходима библиотека itertools. Два кортежа инициализируются переменным списком значений. Процесс объединения двух кортежей упрощается за счет использования функции product(), которая выполняет декартово произведение членов, и использования оператора печати для возврата всех возможных значений.

Пример

#itertools library is imported
import itertools
#tuple_1 and tuple_2 is initialized with a list of values
tuple_1 = (5, 7, 1, 4, 1)
tuple_2 = (6, 8, 2, 0, 2)
#product() function is used to get the combined tuple values
combined_list = list(itertools.product(tuple_1, tuple_2))
# It returns the tuples of the combined_list variable
print("All possible combinations of the tuple are:",combined_list)

Выход

All possible combinations of the tuple are: [(5, 6), (5, 8), (5, 2), (5, 0), (5, 2), (7, 6), (7, 8), (7, 2), (7, 0), (7, 2), (1, 6), (1, 8), (1, 2), (1, 0), (1, 2), (4, 6), (4, 8), (4, 2), (4, 0), (4, 2), (1, 6), (1, 8), (1, 2), (1, 0), (1, 2)]

Заключение

В языке Python указать, что вы объявили кортеж, можно с помощью скобок «()». Элементы в этих скобках могут быть определены как элементы для инициализации как кортежи. Преимущества кортежей в том, что они следуют определенному порядку определения элементов.

Статьи по данной тематике: