найти уникальное минимальное значение питона - PullRequest
0 голосов
/ 23 сентября 2019

Учитывая список чисел.

lst=[1,1,2,4,8,2]

найти уникальное минимальное значение

В идеале ответ должен быть 4, но как мы доберемся до 4?

Ответы [ 5 ]

0 голосов
/ 23 сентября 2019

Вот еще один способ решить ваш вопрос, используя функцию Counter из collection .

from collections import Counter

input_list = [1,1,2,4,8,2]

result_dictionary = {key: value for key, value in Counter(input_list).items() if value == 1}
unique_minimum_value = (min(result_dictionary, key=result_dictionary.get))
print (unique_minimum_value)
# output
4


# one line shorter
unique_minimum_value = min({key: value for key, value in Counter(input_list).items() if value == 1})
print (unique_minimum_value)
# output
4
0 голосов
/ 23 сентября 2019

Я бы сказал, что лучше всего использовать collections.Counter:

from collections import Counter
lst=[1,1,2,4,8,2]
c = Counter(lst)
min(v for v, n in c.items() if n == 1)
4
0 голосов
/ 23 сентября 2019

попробуй

t = list(set(lst))
list.sort(t)
unique_min = t[0]
0 голосов
/ 23 сентября 2019

По сути, как вы это делаете, вы сначала сортируете список.И затем вы проверяете с самого низкого значения, если счет == 1. Если счет! = 1, продолжайте проверять, пока не найдете «уникальный» номер.

def get_lowest_and_unique(lst):
    for x in sorted(list(set(lst))):
        if lst.count(x) == 1:
            return x
    print("Could not find the correct element!")
0 голосов
/ 23 сентября 2019

Это один из подходов.

Пример:

lst=[1,1,2,4,8,2]
print(min([i for i in set(lst) if lst.count(i) == 1]))
# --> 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...