欢迎访问宙启技术站
智能推送

Python中的reversed()函数:如何反转列表或字符串?

发布时间:2023-06-25 05:40:13

在 Python 中,使用 reversed() 函数可以对一个列表或字符串进行反转,即按照相反的顺序排序。这个函数返回的是一个可迭代的对象,可以通过迭代器访问该对象,或者使用 list() 函数将其转换为一个列表。

反转列表

反转列表很简单,只需要将列表作为 reversed() 函数的参数,即可得到一个反转后的迭代器。例如:

original_list = [1, 2, 3, 4, 5]
reversed_list = reversed(original_list)

print(list(reversed_list))    # [5, 4, 3, 2, 1]

在这个例子中,我们将原始列表 [1, 2, 3, 4, 5] 作为参数传递给 reversed() 函数,得到一个迭代器 reversed_list,然后使用 list() 函数将其转换为一个列表,得到 [5, 4, 3, 2, 1]。

需要注意的是,reversed() 函数不会修改原始列表,它只是返回一个反转后的可迭代对象。

反转字符串

反转字符串与反转列表类似,同样可以使用 reversed() 函数。例如:

original_string = "hello world"
reversed_string = ''.join(reversed(original_string))

print(reversed_string)    # "dlrow olleh"

在这个例子中,我们先将原始字符串 "hello world" 转换为一个反转后的迭代器,然后使用 ''.join() 函数将其连接成一个新的字符串,得到 "dlrow olleh"。

需要注意的是,使用 reversed() 函数得到的迭代器是一个反向迭代器,只能向前迭代,无法随意访问其中的元素。如果需要随意访问其中的元素,可以将其转换为一个列表或使用 for 循环遍历。

反转一个元素类型不可变的序列(即元组tuple)

由于元组tuple中存储的数据是无法修改的,因此我们不能像列表一样使用reverse()函数反转元素。但可以使用 slicing方法创建反的顺序的元组。例如:

original_tuple = (1, 2, 3, 4, 5)
reversed_tuple = original_tuple[::-1]

print(reversed_tuple) # (5, 4, 3, 2, 1)

在这个例子中,我们使用 slicing 方法创建了一个容纳反转的tuple。-1代表从最后一个元素开始反转,然后沿着列表继续向前。