微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单一实现可以覆盖Python中的单个值和多个值吗?

假设你有这样的价值:

n = 5

以及返回它的阶乘的方法,如下所示:

因子(5)

你如何处理多个值:

nums = [1,2,3,4,5]

因子(nums)

所以它将所有这些值的阶乘返回为列表.

如果不编写2种方法,最简洁的方法是什么? python一个很好的方法来处理这种情况吗?

解决方法

这有时是完成的.

def factorial( *args ):
    def fact( n ):
        if n == 0: return 1
        return n*fact(n-1)
    return [ fact(a) for a in args ]

它提供了一个几乎神奇的功能,可以使用简单的值和序列.

>>> factorial(5)
[120]
>>> factorial( 5,6,7 )
[120,720,5040]
>>> factorial( *[5,7] )
[120,5040]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐