【问题标题】:Flexibly unpack returned tuple in python在python中灵活解包返回的元组
【发布时间】:2021-08-21 19:26:08
【问题描述】:

在 Python 中,我可以从这样的函数返回多个值:

def myfunc():
    return 1, 2, 3

当我调用这个函数时,我需要像这样解压这些值:

a, b, c = myfunc()
# a = 1, b = 2, c = 3

如果我试试这个,我会得到整个元组:

a = myfunc()
# a = (1, 2, 3)

无论如何我可以在不改变函数调用方式的情况下将上面的代码制作成 a = 1 吗?我意识到我可以做类似a, _, _ = myfunc() 的事情,但我不想改变调用函数的方式。 我只能更改函数定义。

换句话说,我想要这样的东西:

a, b, c = myfunc()
# a = 1, b = 2, c = 3

a, b = myfunc()
# a = 1, b = 2

a = myfunc()
# a = 1

感谢您的帮助!

【问题讨论】:

    标签: python function return tuples


    【解决方案1】:

    您可以使用星号:

    a, *_ = myfunc()
    

    这会将 1 分配给 a 并将元组的其余部分分配给 “匿名”变量_

    【讨论】:

      猜你喜欢
      • 2018-04-26
      • 2010-11-19
      • 1970-01-01
      • 2021-07-28
      • 2015-05-15
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 2021-08-05
      相关资源
      最近更新 更多