Python:将包含来自函数的另一个元组的元组展平的最简单方法

Python: easiest way to flatten a tupple containing another tupple from a function

我的代码是这样的:

def f1():
    return 2, 3

def f2():
    return 1, f1()

我能做到:

a, (b, c) = f2()

我想做:

a, b, c = f2()

我能找到的所有解决方案都需要使用大量疯狂的 parenthesis/brackets,或者创建一个恒等函数来使用 * 运算符。我只想修改 f2().

有没有更简单的?

不使用 1, f2(),而是使用元组连接:

def f2():
    return (1,) + f1()

如评论中所述,您也可以这样做:

def f2():
    x,y = f1()
    return 1, x, y

您也可以这样做:

def f2():
    return (lambda *args: args)(1, *f1())

这有点长,但它比 x,y = f1() 解决方案有优势,因为这样 f1() 可以 return 具有任意数量元素的元组。