我有一个列表和一个函数f
,它返回一个3元组。我想捕获前两个返回值,第三个追加到lst。我知道我可以做到以下几点:
a, b, c = f()
lst.append(c)
但我想要一种不使用无关变量" c"的方法。我知道我也可以这样做:
lst.append(f()[2])
但我不想丢掉其他两个返回值 有什么建议吗?
编辑:我很欣赏所提供的答案,但更明确的问题是找到一个整洁的单行。
答案 0 :(得分:3)
在追加结果之前,将返回值分配给局部变量。 不,你不能抓住两个值,并将第三个附加在一个陈述中;你只得到一个"动词"每个命令。
result = f()
lst.append(result[2])
答案 1 :(得分:2)
使用"一个衬垫"你不想做什么? (不使用分号在一行上拟合两个语句)除非更改函数定义。
具体来说,按以下方式定义Recordset rs=null;
:
AuthenticationUtil.setFullyAuthenticatedUser
然后:
f()
答案 2 :(得分:1)
如果您的问题不是自己编写一行代码,而只是想在单个语句中使用函数调用,赋值和附录,则可以使用包装函数:
$query .= implode(" OR ", array_fill(0, count($terms), "word=?");
所以你可以打电话:
def append_and_assign(mylist, myfunc):
a, b, c = myfunc()
mylist.append(c)
return a,b,c