使用辅助函数进行排序-辅助函数可以返回多个变量吗?

时间:2019-03-12 12:22:47

标签: python sorting return helper-functions

我有两个列表:numbersgroup。我使用了一个辅助函数来对列表进行排序。我想知道的是,是否可以从函数中返回另一个变量“ sorted” =“ True”?

numbers = [8, 3, 1, 2, 5, 4, 7, 6]
group = [2, 3, 5, 7]

def sort_priority(values, group):
    sorted = 'False'
    def helper(x):
        if x in group:
            sorted = 'True' 
            return (0, x)
        else:
            return (1, x)

    values.sort(key=helper)
    return sorted

1 个答案:

答案 0 :(得分:0)

@ekhumoro的答案可能就是您想要的。

另一种方式,利用Python中的事实,
函数是对象/一等公民:

numbers = [8, 3, 1, 2, 5, 4, 7, 6]
group = [2, 3, 5, 7]

def sort_priority(values, group):
    def helper(x):
        if x in group:
            helper.wasSorted = 'True'
            return (0, x)
        else:
            return (1, x)
    helper.wasSorted = 'False'

    values.sort(key=helper)
    return helper.wasSorted

print(sort_priority(numbers, group))

此外,'sorted'是内置函数的名称,
会引起一些混乱
(因此将其更改为“ wasSorted”)。