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代表从最后一个元素开始反转,然后沿着列表继续向前。
