gpt4 book ai didi

python - 无法理解一些 python 元组语法

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:43 24 4
gpt4 key购买 nike

今天开始学习python,发现了这个非常不错的代码可视化工具pythontutor.com ,问题是我仍然不太了解示例代码中的一些语法。

def listSum(numbers):
if not numbers:
return 0
else:
(f, rest) = numbers
return f + listSum(rest)

myList = (1, (2, (3, None)))
total = listSum(myList)

(f, rest) = numbers 是什么意思?

最佳答案

这是元组 拆包

以这种方式使用时,元组 中需要有 2 个项目。或多或少都会导致异常,如下所示。

>>> numbers = (1, 2, 3, 4, 5)
>>> (f, rest) = numbers
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
>>> numbers = (1, 2)
>>> (f, rest) = numbers
>>> print f
1
>>> print rest
2
>>> numbers = (1)
>>> (f, rest) = numbers
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> numbers = (1,)
>>> (f, rest) = numbers
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack

请注意,(1)(1, ) 在语法上是不同的,只有后者是一个元组。

请参阅 Tuples and Sequences 上的 Python 文档了解更多详情。

关于python - 无法理解一些 python 元组语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com