使用列表理解查找最小数字

find min number using list comprehension

如何使用列表理解找到最小数量?

这是我试过的代码:

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)

要找到您可以使用的最小数量

min(my_list)

但是,您正在查找大于 min_num 的最小数字。使用列表理解,您可以 select 所有大于 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])

使用列表理解,if..else,测试多个输入

输入

if a[0] == each else a[0] this condition in list comprehension validates the the each element is greater orless than a[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. 输入数字列表,最小值变量设置为 None,这将是 找到最小数量时作为输出返回
  3. 下一行使用 sort()

  4. 对输入列表 1 进行排序
  5. for循环遍历每个元素并进行比较 直到我们得到列表中的最小数字

  6. 由于列表是排序的,如果列表中有元素大于a[0]
  7. ,则取a[0]为min_number
  8. 正在将最小值分配给 a[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  

Driver代码

b = min_num(a,min = None)
print(b)