найти минимальный номер, используя понимание списка - PullRequest
0 голосов
/ 25 февраля 2019

Как найти минимальное число, используя понимание списка?

Это код, который я пробовал:

def qwe(some_list, min_num):
    b = float('inf')
    for i in some_list:
        if min_num < i < b:
            b = i
    print(b)
a = [2,3,5,8,5,6,3,2,4,5,8,9,6,3,1,7,5,4,1,2,5,6,3]
qwe(a,3)

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Использование понимания списка, если ... еще, проверено на множественные входы

input

, если a [0] == каждый другой a [0] это условие в понимании спискапроверяет, что каждый элемент больше или меньше, чем [0]

 a = [2,3,5,8,5,6,3,2,4,5,8,9,6,3,-3,-47,-5,-4,-1,-2,-5,-6,-3]

min_num = min([each if a[0] == each else a[0] for each in a ])
print(min_num)

Использование функции:

  1. Эта функция принимает два аргумента - list1 -
  2. входной список чисел и min - переменная, установленная в None, это будет возвращено в качестве выходных данных при поиске минимального числа
  3. Следующая строка сортирует входной список 1 с помощью sort ()

  4. Для цикла для итерации каждого элемента и сравнения до тех пор, пока мы не получим минимальное число в списке

  5. Поскольку список отсортирован, возьмите [0] в качестве min_number, если элемент всписок превышает [0]
  6. , назначая минимальное значение для функции [0]

, чтобы найти минимальное число

def min_num(list1, min = None): 

    list1.sort() 
    for each in list1:
        if a[0] == each: 
            min = each   
        elif a[0] < each: 
            min = a[0]
    return min  

код драйвера

b = min_num(a,min = None)
print(b)
0 голосов
/ 25 февраля 2019

Чтобы найти минимальное число, вы можете использовать

min(my_list)

Однако вы ищете минимальное число, которое больше min_num.Используя понимание списка, вы можете выбрать все числа больше min_num следующим образом:

my_list = [x for x in my_list if x > min_num]

Комбинируя два, вы получите ответ

min([x for x in my_list if x > min_num])
...