我知道Python 中一个函数可以返回多个值。我想做的是将列表中的每个元素作为单独的返回值返回。这可以是任意数量的元素,具体取决于用户输入。我想知道是否有一种Python式的方法可以做到这一点?
例如,我有一个函数将返回一对项目作为数组,例如,它将返回[a, b]
.
但是,根据给定的输入,该函数可能会生成多个对,这将导致函数返回[[a, b], [c, d], [e, f]]
。相反,我希望它返回[a, b], [c, d], [e, f]
到目前为止,我已经实现了一个非常粗劣的函数,其中包含大量临时变量和计数,并且正在寻找更干净的建议。
感谢您的帮助!
当Python函数执行时:
return a, b, c
它实际返回的是元组(a, b, c)
,并且元组在分配时被解包,所以你可以说:
x, y, z = f()
一切都很好。所以如果你有一个清单
mylist = [4, "g", [1, 7], 9]
你的函数可以简单地:
return tuple(mylist)
并按照您的预期行事:
num1, str1, lst1, num2 = f()
将按照您的预期完成作业。
如果你什么really想要一个函数返回不确定数量的事物作为您可以迭代的序列,那么您需要使用它使其成为生成器yield
,但那是一个不同的蜡球。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)