【发布时间】:2018-02-22 20:22:05
【问题描述】:
我有一个函数返回两个列表的元组 (EGreturn (["a", "b"], ["c"]))。
我正在尝试将两个返回的列表附加到两个不同的列表中。 我可以这样做:
temp1, temp2 = functionCall()
list1.append(temp1)
list2.append(temp2)
但我正在尝试找到一些没有临时变量的更优雅的解决方案。 我尝试过的一些方法是使用 for 循环和 lambda,但找不到令人满意的解决方案。
我可能缺少一些明显的东西,因为我非常缺乏经验。 有人可以帮我吗?
【问题讨论】:
-
你可以简单地做
list1.append(functionCall()[0])和list2.append(functionCall()[1]),因为你的函数已经返回了一个元组。 -
那你得调用两次函数
-
临时变量到底有什么问题?
-
我相信有很多方法可以让这变得更复杂,但使用临时变量绝对是推荐的方法
-
@Animamorta 你不必要地通过使事情复杂化来制造非问题。你已经拥有解包任务的能力了。你所要求的是一种叫做双函子的东西,它大致允许你分别执行两个动作。如果你追求那种美学,你应该用函数式语言编程。