美文网首页
Python-使用列表推导式的案例

Python-使用列表推导式的案例

作者: 去他山捡石头 | 来源:发表于2018-07-19 21:55 被阅读0次

案例:创建一个函数,输入一个大于1的整数,返回一个列表,包含所有能够整除该整数的因子(不包含1和它本身),并且从小到大排序。如果这个数是素数,则返回“(integer) is prime”。

  • 一般的写法
def divisors1(integer):
    a =[]
    for i in range(2,integer):
        if integer % i == 0:
            a.append(i)
    if len(a) != 0:
        return a
    else:
        return "%i is prime" % integer
    
print(divisors1(12))
print(divisors1(25))
print(divisors1(13))

###输出结果为:
[2, 3, 4, 6]
[5]
13 is prime
  • 进阶写法:使用列表推导式,只用一行代码来完成。且return的值也直接使用条件语句来表达
def divisors2(integer):
    a =[i for i in range(2, integer) if integer % i == 0]
    return a if a else "%i is prime" % integer

print(divisors2(12))
print(divisors2(25))
print(divisors2(13))

###输出结果为:
[2, 3, 4, 6]
[5]
13 is prime

相关文章

网友评论

      本文标题:Python-使用列表推导式的案例

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