Код: Выделить всё
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), (3, 7) и (4, 6), когда цель равна 10.
Код: Выделить всё
your text
Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-python