使用列表推导找到最小值

时间:2019-02-25 09:46:21

标签: python list min

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

这是我尝试过的代码:

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 :(得分:2)

要找到可以使用的最小电话号码

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])

答案 1 :(得分:0)

使用列表理解,如果..else,则测试了多个输入

输入

  

如果a [0] ==其他a [0]列表理解中的此条件   验证每个元素大于或小于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. 输入数字列表,并将min变量设置为None,这将是 找到最小值后作为输出返回
  3. 下一行使用sort()对输入list1进行排序

  4. For循环迭代每个元素并进行比较 直到列表中的最低数量

  5. 由于列表已排序,因此如果列表中的元素大于a [0],则将a [0]用作min_number
  6. 将最小值分配给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  

驱动程序代码

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