我想解决这个问题
def quicksort(xs, key=(lambda x:x)):
if len(xs) > 1:
pivot = xs[0]
(left, right) = partition(key(pivot), xs[1:], key=key)
return quicksort(left,key=key) + [pivot] + quicksort(right,key=key)
else:
return xs
def partition(pivot, xs, key):
left = [x for x in xs if key(x) <= pivot]
right = [x for x in xs if key(x) > pivot]
return (left, right)
quicksort([1,[1,[5,[3]],7,9,4],[1,2,4,[3]],[1,[3,5],4,[2,[4]]]], lambda x:[max([(str(x[:i]).count('[')-str(x[:i]).count(']')) for i in range(len(str(x)))])])
我想要的结果是1,[1,3,[5]],[1,3,5[6,[7]]像这样
目前没有回答
相关问题 更多 >
编程相关推荐