【发布时间】:2016-12-12 11:54:28
【问题描述】:
我有以下一行(注意:转换函数返回一个数组):
question, answer = convert(snippet, phrase)
这是否将数组中的前两个值分别分配给question 和answer 变量?
【问题讨论】:
-
您自己尝试过什么解决方案?
我有以下一行(注意:转换函数返回一个数组):
question, answer = convert(snippet, phrase)
这是否将数组中的前两个值分别分配给question 和answer 变量?
【问题讨论】:
如果函数返回一个至少包含两个值的列表,你可以这样做:
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)
【讨论】:
这在 Python 中称为 unpacking。
a, b, c = 1, 2, 3
# a -> 1
# b -> 2
# c -> 3
【讨论】: