Фотография
нажмите — покажем
нажмите — покажем
Чтобы получить все уникальные пары элементов из списка, вовсе не обязательно писать громоздкие вложенные циклы. Python предоставляет модуль itertools, который содержит готовые инструменты для таких задач.
Например, для списка features = ['price', 'size', 'rating'] можно написать так:
from itertools import combinations
pairs = list(combinations(features, 2))
print(pairs) # [('price', 'size'), ('price', 'rating'), ('size', 'rating')]
Функция combinations берёт на вход итерируемый объект и размер комбинации.
В нашем случае размер равен 2, поэтому мы получаем все возможные неупорядоченные пары без повторов.
Это решение не только короче, но и легче читается. Пользуйтесь библиотекой itertools, чтобы избавляться от рутины и писать более чистый код!
@Python_Community_ru
872 ·