【问题标题】:assign variables to an array将变量分配给数组
【发布时间】:2016-12-12 11:54:28
【问题描述】:

我有以下一行(注意:转换函数返回一个数组):

question, answer = convert(snippet, phrase)

这是否将数组中的前两个值分别分配给questionanswer 变量?

【问题讨论】:

  • 您自己尝试过什么解决方案?

标签: python list


【解决方案1】:

如果函数返回一个至少包含两个值的列表,你可以这样做:

question, answer = convert(snippet, phrase)[:2]
#or 
question, answer, *_ = convert(snippet, phrase)

例如:

# valid multiple assignment/unpacking
x,y = 1, 2
x,y = [1,2,3][:2]
x,y, *z = [1, 2, 3, 4] # * -> put the rest as the list to z
x, y, *_z = [1, 2, 3, 4] # similar as above but, uses a 'throwaway' variable _

#invalid
x, y = 1, 2, 3 #ValueError: too many values to unpack (expected 2)

【讨论】:

    【解决方案2】:

    这在 Python 中称为 unpacking

    a, b, c = 1, 2, 3
    # a -> 1
    # b -> 2
    # c -> 3
    

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-27
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多