举一个实际的例子说明如何使用这种嵌套函数调用?
时间: 2024-09-25 11:15:32 浏览: 49
一个实际的例子可以在数据排序或搜索算法中看到,比如快速排序。我们可以设计一个函数,该函数接受一个比较函数作为参数来进行自定义排序。例如:
```python
def quicksort(arr, compare_func):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
less = [x for x in arr if compare_func(x, pivot) < 0]
equal = [x for x in arr if compare_func(x, pivot) == 0]
greater = [x for x in arr if compare_func(x, pivot) > 0]
return quicksort(less, compare_func) + equal + quicksort(greater, compare_func)
# 使用内置的小于比较
sorted_array = quicksort([5, 2, 9, 1, 5, 6], lambda x, y: x < y)
```
在这个例子中,`compare_func` 就是一个嵌套函数,它在 `quicksort` 的每次递归调用中都被用于确定元素之间的顺序。通过这种方式,我们能够轻松地改变排序的方式,比如改为降序排序只需提供一个不同的比较函数即可。
阅读全文