编写函数模拟内置函数reversed
时间: 2023-06-19 14:10:10 浏览: 109
python内置函数集合
内置函数`reversed()`可以用于反转一个序列(如字符串、列表、元组等),其返回一个反向迭代器。
下面是一个模拟内置函数`reversed()`的函数实现:
```python
def my_reversed(seq):
"""
反转序列中的元素
"""
if isinstance(seq, str):
# 如果是字符串,先转成列表再反转
seq = list(seq)
start, end = 0, len(seq) - 1
while start < end:
seq[start], seq[end] = seq[end], seq[start]
start += 1
end -= 1
return seq
```
上述代码中,我们接受一个序列作为参数,如果是字符串则先转成列表再进行反转操作。然后使用双指针法,从两端向中间逐步交换元素,最后返回反转后的序列。
使用方式与内置函数`reversed()`类似:
```python
>>> my_reversed('hello')
['o', 'l', 'l', 'e', 'h']
>>> my_reversed([1, 2, 3, 4])
[4, 3, 2, 1]
>>> my_reversed((1, 2, 3))
(3, 2, 1)
```
阅读全文