Python从返回元组追加到列表

时间:2018-01-24 19:20:32

标签: python

我有一个列表和一个函数f,它返回一个3元组。我想捕获前两个返回值,第三个追加到lst。我知道我可以做到以下几点:

a, b, c = f()
lst.append(c)

但我想要一种不使用无关变量" c"的方法。我知道我也可以这样做:

lst.append(f()[2])

但我不想丢掉其他两个返回值 有什么建议吗?

编辑:我很欣赏所提供的答案,但更明确的问题是找到一个整洁的单行。

3 个答案:

答案 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