Python中那个可以用reverse逆置
时间: 2024-11-09 12:19:01 浏览: 5
在Python中,`reverse()`是一个内建的方法,它用于反转容器对象的内容,比如列表(list)、元组(tuple)以及字符串(str),但是字符串是不可变的,所以对字符串直接使用`reverse()`不会有任何效果,只能返回一个新的反向字符串。
对于列表,你可以直接调用`list.reverse()`来改变原列表的顺序。例如:
```python
my_list = [1, 2, 3, 4, 5]
my_list.reverse() # 现在 my_list 变成 [5, 4, 3, 2, 1]
```
而对于元组,由于元组是不可变的,你可以先将其转换为列表,进行`reverse()`操作后再转换回元组:
```python
my_tuple = (1, 2, 3, 4, 5)
my_list = list(my_tuple)
my_list.reverse()
new_tuple = tuple(my_list) # new_tuple 仍然是 (5, 4, 3, 2, 1)
```
需要注意的是,`reverse()`方法改变了原容器的数据结构,不返回新值。
相关问题
用python实现一个数组的逆置,最后给出时间复杂度
下面是一种使用 Python 实现数组逆置的方法:
```
def reverse_array(array):
start = 0
end = len(array) - 1
while start < end:
array[start], array[end] = array[end], array[start]
start += 1
end -= 1
return array
```
时间复杂度为 O(n),其中 n 为数组的长度。
代码中使用了双指针法,在数组长度为 n 的情况下,每次操作的时间复杂度都是 O(1),所以总的时间复杂度为 O(n)。
1.输入10个数字保存到List中,并按倒序显示出来。(设计思路:判断是否为数字,如果是则用collections的sort实现排序,在用其reverse逆置,最后遍历输出)。
以下是Python代码实现:
```python
import collections
nums = []
for i in range(10):
num = input("请输入数字:")
if num.isdigit():
nums.append(int(num))
else:
print("输入的不是数字,已跳过。")
nums.sort()
nums.reverse()
for num in nums:
print(num)
```
首先,我们定义一个空的列表nums来存储输入的数字。然后,使用for循环,让用户输入10个数字,如果输入的是数字,则将其转换为整数并添加到nums中,否则跳过该数字。
接下来,我们使用sort()方法对nums进行排序,并使用reverse()方法将其逆置(即倒序)。最后,使用for循环遍历nums列表,并输出每个数字。
阅读全文