一、切片方法
字符串、列表、元组的翻转都可以用[::-1]
s1 = '1233436u7'
s2 = [5,3,2,5,21,7]
t1 = (2,6,4,1,42)
print(s1[::-1]) # 7u6343321
print(s2[::-1]) # [7, 21, 5, 2, 3, 5]
print(t1[::-1]) # (42, 1, 4, 6, 2)
二、reverse()
reverse()是python列表的一个内置方法,只能用于列表的翻转。
lista = [1, 2, 3, 4]
lista.reverse()
print(lista) #[4, 3, 2, 1]
其实,lista.reverse()这一步操作的返回值是一个None,其作用的结果,需要通过打印被作用的列表才可以看到效果。
reverse翻转后的列表内存地址不变。
三、reversed()
reversed()是python自带的一个方法,准确说,是一个类。
关于reversed()官方解释:
reversed(sequence) -> reverse iterator over values of the sequence 反转迭代器的序列值
Return a reverse iterator 返回反向迭代器
也就是说,reversed返回的是一个迭代器,需要通过遍历,或者list,或者next()等方法,获取作用后的值;
bb = [1, 3, 5, 7]
aa = (1, 2, 3)
ss = "qwer1234"
print(list(reversed(bb))) #[7, 5, 3, 1]
print(tuple(reversed(aa))) #(3, 2, 1)
print(''.join(reversed(ss))) #4321rewq