在Python中访问第一个返回的对象

0 投票
3 回答
581 浏览
提问于 2025-04-17 22:58

我有一个函数 F(),它会返回两个对象。例如,ob1, ob2 = F() 这样可以把返回的两个对象分别赋值给 ob1ob2

有没有办法在同一行代码中只获取 ob1,而忽略 ob2 呢?就像 ob1 = F() 这样。

3 个回答

0

结果会是一个元组,你只需要访问你想要的位置就可以了:

ob1 = F()[0]
1

函数一次不能返回两个对象。实际上,你的函数返回的是一个包含两个对象的元组。

这意味着你可以通过索引来获取你想要的对象:

>>> def F():
...     return 1, 2
...
>>> ob1 = F()[0]
>>> ob1
1
>>>

记住,是逗号 , 创建了元组,而不是括号(如果有的话):

>>> t = 1, 2
>>> t
(1, 2)
>>> t = (1, 2)
>>> t
(1, 2)
>>>
2

只需要遵循丢弃变量的命名规则就可以了:

ob1, _ = F()

另一个选择是从F()的结果中获取第一个项目:

obj1 = F()[0]

撰写回答