@Val_Mi

Как удалить дубликаты из списка с проверкой типа данных?

есть вот такой код

def clean_list(l):
result = []
for item in l:
if item not in result:
result.appent(item)
return result
только он не отличит float от int до меня не доходит где провести проверку типов
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Если я правильно понял суть вопроса - то:
def clean_list(a):
    out = []
    for im in a:
        tmp = [im, type(im)]
        if not tmp in out:
            out.append(tmp)
    return [x[0] for x in out]


print(clean_list([1, 1, 2.0, 2, 2.0, 3, 1, 2, 3.0, 3.0, 2.0, 4, 4.0, 3.0]))


[1, 2.0, 2, 3, 3.0, 4, 4.0]
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
meaqese
@meaqese
clean_list = lambda l: list(set(l))
Ответ написан
Комментировать
SoreMix
@SoreMix Куратор тега Python
yellow
1. Чем не угодил set()?
2. ?
def clean_list(l):
result = []
for item in l:
if int(item) not in result:
result.appent(int(item))
return result
Ответ написан
aRegius
@aRegius
Python Enthusiast
unique_as_tuple = dict.fromkeys([(num, type(num)) for num in values_list])
unique_as_numbers = [num for num, num_type in unique_as_tuple]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы