Как преобразовать список с удалением зеркальных элементов python
Нужно написать программу на Пайтон, которая будет искать из списка чисел 1-20, такие пары чисел, сумма которых является делителем введённого числа(от 3 до 20). Исключая элементы с одинаковым цифрами. Например число 6, делители: 2(но его нельзя составить из разных цифр 1+1 нельзя), 3 (получаем пары 1и2,2и1, но в ответ нужно только первую, 6 пары 1и5, 2и4,4и2,5и1, тут опять есть зеркальные. Я смог написать простенький код на нахождение всех возможных пар, теперь мне нужно либо убрать их, либо переписать код.
n = 11
n1 = int(n//2)
vs1_ = list(range(1, n1))
vs_ = list(range(1, n))
o = []
for i in vs1_:
for j in vs_:
if i == j:
continue
else:
sum_ = i + j
if n % sum_ == 0:
o1 = f'{i}{j}'
o.append(o1)
else:
continue
print(o)
Ответы (1 шт):
Каюсь, я прокололся с пониманием задачи - ну, извините, такой заголовок. Чего ж тут ещё можно понимать - дайте этот же список, но без дублей. Теперь и я не понимаю, чего собственно требуется. Просто для других читателей оставлю вариант на Python (задача на самом деле нужная), в котором удаляются дубликаты в списке:
import os
my_list = ['51', '12', '15', '21', 0.128, '12', '24', '42', '42', '51', 'Вася', 15]
unique_items = list(dict.fromkeys(my_list))
print(my_list)
print(unique_items)
os.system("pause")