相关疑难解决方法(0)

Python避免lambda for key需要两个callables(函数组合)

我正在研究项目euler问题14,作为第一次尝试,我掀起了这个强力解决方案:

def collatz(n, memo={1: [1]}):
    if n not in memo:
        memo[n] = [n] + collatz(3 * n + 1 if n % 2 else n // 2)
    return memo[n]

def p014():
    return max(xrange(1, 10**6), key=lambda n: len(collatz(n)))
Run Code Online (Sandbox Code Playgroud)

我的问题是关于lambda,我通常不愿意使用它们,但在这种情况下我不知道有什么优雅的方法可以避免它.functools链接两个callables 有什么内容或其他东西,或者我缺少任何其他简洁的替代品?

python lambda key max

5
推荐指数
1
解决办法
418
查看次数

标签 统计

key ×1

lambda ×1

max ×1

python ×1