一、reverse
reverse()是python中列表的一个内置方法(在字典、字符串和元组中没有这个内置方法),用于列表中数据的反转
例子:
lista = [1, 2, 3, 4]
lista.reverse()
print(lista)
打印结果:
[4, 3, 2, 1]
其实,lista.reverse()
操作的返回值是一个None,其作用的结果需要通过打印被作用的列表才可以查看出具体的效果
二、reversed
reserved()是python内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及 range(n)区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)
关于reversed()官方解释:
reversed(sequence) -> reverse iterator over values of the sequence
Return a reverse iterator
即:
reverse(sequence) ->反转迭代器的序列值
返回反向迭代器
也就是说,在经过reversed()的作用之后,返回的是一个把序列值经过反转之后的迭代器,所以需要通过遍历,或者List或者next()等方法获取作用后的值
reserved()函数的语法格式如下:
reversed(seq)
其中,seq可以是列表,元素,字符串以及range()生成的区间列表
reversed()函数的基本用法:
#将列表进行逆序
print([x for x in reversed([1,2,3,4,5])])
#将元组进行逆序
print([x for x in reversed((1,2,3,4,5))])
#将字符串进行逆序
print([x for x in reversed("abcdefg")])
#将 range() 生成的区间列表进行逆序
print([x for x in reversed(range(10))])
执行结果:
[5, 4, 3, 2, 1]
[5, 4, 3, 2, 1]
['g', 'f', 'e', 'd', 'c', 'b', 'a']
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
除了使用列表推导式的方式,还可以使用list()函数,将reversed()函数逆序返回的迭代器,直接转换成列表。例如:
#将列表进行逆序
print(list(reversed([1,2,3,4,5])))
程序执行结果为:
[5, 4, 3, 2, 1]
再次强调,使用reversed()函数进行逆序操作,并不会修改原来序列中元素的顺序,例如:
a = [1,2,3,4,5]
#将列表进行逆序
b = list(reversed(a))
print("a=",a)
print("b=",b)
执行结果:
a= [1, 2, 3, 4, 5]
b= [5, 4, 3, 2, 1]