Check if all values in list are greater than a certain number

后端 未结 7 905
太阳男子
太阳男子 2020-12-12 20:31
my_list1 = [30,34,56]
my_list2 = [29,500,43]

How to I check if all values in list are >= 30? my_list1 should work and my_list2

7条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-12 20:53

    Use the all() function with a generator expression:

    >>> my_list1 = [30, 34, 56]
    >>> my_list2 = [29, 500, 43]
    >>> all(i >= 30 for i in my_list1)
    True
    >>> all(i >= 30 for i in my_list2)
    False
    

    Note that this tests for greater than or equal to 30, otherwise my_list1 would not pass the test either.

    If you wanted to do this in a function, you'd use:

    def all_30_or_up(ls):
        for i in ls:
            if i < 30:
                return False
        return True
    

    e.g. as soon as you find a value that proves that there is a value below 30, you return False, and return True if you found no evidence to the contrary.

    Similarly, you can use the any() function to test if at least 1 value matches the condition.

提交回复
热议问题