我有两个列表:numbers
和group
。我使用了一个辅助函数来对列表进行排序。我想知道的是,是否可以从函数中返回另一个变量“ 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
答案 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”)。