美文网首页
Python中的 any() 函数用法对比

Python中的 any() 函数用法对比

作者: Michael_lllll | 来源:发表于2018-10-22 08:06 被阅读0次

    计算列表中是否含有被7整除的数

    思路一

    建立一个新的被7除的余数列表,检测新列表是否含有0

    def has_lucky_number(nums):
        """Return whether the given list of numbers is lucky. A lucky list contains
        at least one number divisible by 7.
        """
        new_nums=[]
        for num in nums:
            new_nums.append(num % 7)
        return 0 in new_nums
    

    这样的计算效率不高,需要遍历列表中的所有值,而问题所需仅是存在一个符合要求的值即可。

    思路2

    def has_lucky_number(nums):
        for num in nums:
            if num % 7 == 0:
                return True
        # We've exhausted the list without finding a lucky number
        return False
    

    检测到第一个符合要求的值计算便结束。

    any() 函数运用

    def has_lucky_number(nums):
        return any([num % 7 == 0 for num in nums])
    

    非常简洁,一行搞定。并且同样在检测到第一个符合要求的值计算便结束。

    参考链接:https://www.kaggle.com/wangmiaobeng/exercise-loops-and-list-comprehensions/

    相关文章

      网友评论

          本文标题:Python中的 any() 函数用法对比

          本文链接:https://www.haomeiwen.com/subject/nvrwzftx.html