Как найти уникальные пары в списке, которые в сумме составляют целевую сумму в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как найти уникальные пары в списке, которые в сумме составляют целевую сумму в Python?

Сообщение Anonymous »

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

Код: Выделить всё

def find_unique_pairs(numbers, target):
seen = set()
pairs = set()

for num in numbers:
complement = target - num
if complement in seen:
# I want to add the pair here in a way that avoids duplicates
pass  # What should I do here?
seen.add(num)

return list(pairs)

# Example:
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
target = 10
print(find_unique_pairs(numbers, target))

Я пытаюсь понять, как добавить пары в набор пар таким образом, чтобы гарантировать отсутствие дубликатов (например, (2, 8) и (8, 2) должны считаться одна и та же пара)
Не могли бы вы помочь мне завершить код и, возможно, предложить улучшения, чтобы сделать его более эффективным для больших списков?
Я пробовал использовать наборы для хранения просмотренных чисел и пар, но Я пытаюсь понять, как отформатировать правильно соединяются, чтобы избежать дублирования. Я ожидаю, что результат будет включать уникальные пары, такие как (2, 8), (3, 7) и (4, 6), когда цель равна 10.

Код: Выделить всё

your text


Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»