#编写函数,模拟Python内置函数sorted()。
时间: 2024-10-16 19:14:08 浏览: 20
`sorted()` 是 Python 内置的用于对序列进行排序的函数,它会返回一个新的已排序列表,而不会改变原列表的顺序。这个函数可以接受多种类型的参数,包括列表、元组甚至是字典(根据其键进行排序)。它默认采用升序排列,如果需要降序,可以提供 `reverse=True` 参数。
下面是一个简单的模拟 `sorted()` 函数的示例,我们创建一个名为 `my_sorted` 的函数:
```python
def my_sorted(iterable, reverse=False):
# 检查输入是否为可迭代对象
if not isinstance(iterable, (list, tuple, dict)):
raise TypeError("Input must be a list, tuple, or dictionary.")
# 对列表和元组直接进行排序
if isinstance(iterable, (list, tuple)):
return sorted(iterable, reverse=reverse)
# 对字典按键排序,如果需要降序则反转键
if isinstance(iterable, dict):
keys = list(iterable.keys())
sorted_keys = keys if not reverse else keys[::-1]
return [value for key in sorted_keys for value in iterable.values()]
```
请注意,此实现并未处理所有 `sorted()` 功能,例如 `key` 和 `cmp` 参数以及自定义排序规则。这是一个简化版本,仅为了展示基本思想。
阅读全文