Python - 将另一个函数返回的元组分隔成不同的变量

时间:2014-03-28 14:58:37

标签: python

我有一个函数返回2个值,这些值是一对中的2个元组。这是功能:

def validate_move(self):
    import ast
    source = tuple(int(x.strip()) for x in input("position:").split(','))
    target = tuple(int(x.strip()) for x in input("position:").split(','))
    if self.validate_position_source(source) == True:
        if self.validate_position_target(source, target) == True:
            return source, target

回报如下:

((3, 2), (1, 4))

第一个元组是源和第二个目标。我希望将这两个元组放入另一个函数的变量中。例如,

a = (3,2)
b= (1,4)

我知道我必须调用该函数,但我不知道如何将元组“提取”到变量中。

2 个答案:

答案 0 :(得分:2)

只需分配多个变量:

a, b = obj.validate_move()

Python将为您解包返回值,并将每个元素分配给=赋值左侧命名的不同目标。

你也可以只解决元组中的每个元素:

result = obj.validate_move()
a = result[0]
b = result[1]

但解包分配更方便。

答案 1 :(得分:1)

这应该有效:

source, target = your_object.validate_move()