Функция получения меньшего числа в списке и удаления дубликатов - PullRequest
0 голосов
/ 29 мая 2020

Мне нужно подсчитать количество меньших или равных чисел в списке, не учитывая дубликаты.

def getVal(prices = [5,5,10], money = 5):
        count = 0
        for i in prices:
            if money >= i and money == i:
                count += 1
        return count

вывод этого кода: 2

Как я могу получить вывод 1.

Ответы [ 2 ]

0 голосов
/ 29 мая 2020

Один лайнер?

def getVal(prices, money):
    return sum(i <= money for i in set(prices))

print(getVal([5, 5, 10], 5))

Всякий раз, когда вы сталкиваетесь с отсутствием дубликатов, ответ всегда будет set.

0 голосов
/ 29 мая 2020

Преобразуйте ваш список в набор, и все дубликаты будут удалены автоматически:

def getVal(prices = [5,5,10], money = 5):
        count = 0
        for i in set(prices): # Add set() around the list to convert
            if money >= i:
                count += 1
        return count
print(getVal())

Результат:

1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...