这不是一个复杂的问题,但我无法找到明确的答案。
例如,如果我想在数字列表中找出素数的数量:
def count_prime(lst):
"""lst is a list of integers"""
def isPrime(n):
return all(n % div != 0 for div in range(2, int(n**0.5) + 1)) if n > 1 else False
result = 0
for num in lst:
if isPrime(num):
result += 1
return result
这看起来很简单,但我把isPrime(n)
放在主函数中。
与以下内容相比如何:
def isPrime(n):
return all(n % div != 0 for div in range(2, int(n**0.5) + 1)) if n > 1 else False
def count_prime(lst):
"""lst is a list of integers"""
result = 0
for num in lst:
if isPrime(num):
result += 1
return result
我的问题是:它有什么不同吗?哪一个更受欢迎?
答案 0 :(得分:0)
我认为这两种方法都是有效的。 isPrime
非常小,因此可以轻松嵌入。如果要重用该函数,则有必要全局定义它。