【发布时间】:2015-01-31 09:45:07
【问题描述】:
我知道一个函数可以在 Python 中返回多个值。我想做的是将列表中的每个元素作为单独的返回值返回。这可以是任意数量的元素,具体取决于用户输入。我想知道是否有这样做的pythonic方式?
例如,我有一个函数会以数组的形式返回一对项目,例如,它将返回 [a, b]。
但是,根据给定的输入,函数可能会产生多个对,这将导致函数返回 [[a, b], [c, d], [e, f]]。相反,我希望它返回[a, b], [c, d], [e, f]
到目前为止,我已经实现了一个非常劣质的函数,其中包含大量临时变量和计数,并且正在寻找更简洁的建议。
感谢您的帮助!
【问题讨论】:
-
说python函数可以返回多个值并不完全正确:这些函数实际上返回一个元组,它在赋值时被解包。因此,您可以使用
tuple()简单地将列表转换为元组。如果您的意思是您想在多次调用中一次返回它们,那么您正在使用yield并构建一个生成器,完全是另外一回事。 -
值得注意的是,元组只是“返回多个值”的标准。您可以愉快地返回一个列表并像元组一样解压它。
标签: python return return-value multiple-variable-return