编写函数,模拟Python内置函数sorted()。
时间: 2023-12-12 11:32:44 浏览: 154
以下是一个模拟Python内置函数sorted()的示例代码:
```python
def my_sorted(iterable, reverse=False):
# 将可迭代对象转换为列表
lst = list(iterable)
# 冒泡排序
for i in range(len(lst)):
for j in range(i+1, len(lst)):
if reverse:
if lst[i] < lst[j]:
lst[i], lst[j] = lst[j], lst[i]
else:
if lst[i] > lst[j]:
lst[i], lst[j] = lst[j], lst[i]
return lst
```
该函数接受两个参数:一个可迭代对象和一个布尔值,用于指定是否按照降序排序。函数首先将可迭代对象转换为列表,然后使用冒泡排序算法对列表进行排序。如果reverse参数为True,则按照降序排序,否则按照升序排序。最后返回排序后的列表。
示例用法:
```python
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
print(my_sorted(lst)) # 输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
print(my_sorted(lst, reverse=True)) # 输出:[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
```
阅读全文