>>> items = [1, 10, 7, 4, 5, 9]
>>> def sum(items):
... head, *tail = items
... return head + sum(tail) if tail else head
>>> sum(items)
36
>>>
谁能帮忙解释下为什么第四行的时候要用:
if tail else head
这是什么意思呢?详细讲述下过程,多谢。
>>> items = [1, 10, 7, 4, 5, 9]
>>> def sum(items):
... head, *tail = items
... return head + sum(tail) if tail else head
>>> sum(items)
36
>>>
谁能帮忙解释下为什么第四行的时候要用:
if tail else head
这是什么意思呢?详细讲述下过程,多谢。
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
这里的
sum
是个会递归调用自身的函数,递归需要一个终结,当tail
不包含数据的时候,就是递归的尽头,直接返回head