它将一个序列作为输入,并返回另一个序列,其中元素的顺序与给定输入序列的顺序相反。它不会对原始序列产生任何影响。也就是在原列表的基础上返回一个新的反向列表。
粗略的看看
class reversed(Iterator[_T], Generic[_T]):
@overload
def __init__(self, __sequence: Reversible[_T]) -> None: ...
@overload
def __init__(self, __sequence: SupportsLenAndGetItem[_T]) -> None: ...
def __iter__(self) -> Iterator[_T]: ...
def __next__(self) -> _T: ...
__iter__与__next__之前说过,此处就不再多说明了,不知道的可以看看前面的文章。
小例子1–列表
list1=['a','b','c','d']
list2 = list(reversed(list1))
print(list2,id(list2))
print(list1,id(list1))
"""
['d', 'c', 'b', 'a'] 2282882887040
['a', 'b', 'c', 'd'] 2282887136832
"""
返回的list2是一个新列表。在上述中不用list用.next()取值也行,也是可以取出值的。原因就不在多说明了。
reversed在自动化中,运用的不是特别的多,但是需要了解,以备不时之需。
小例子2–字典
dic = {"name1":"清安","name2":"拾贰"}
list2 = reversed(dic)
print(list(list2))
"""
['name2', 'name1']
"""
字典也是可以的,其他的数据结构也是OK的,包括元组。学会举一反三,多多思考。