python基础之reverse和reversed函数的介绍及使用
sysu_lluozh 人气:0一、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]
附:Python中reverse和reversed反转列表的操作方法
列表反转
x = ["a", "b", "c", "d", "e"] print(list(reversed(x))) # ['e', 'd', 'c', 'b', 'a'] x = ["a", "b", "c", "d", "e"] for i in reversed(x): print(i) ''' e d c b a '''
元组反转
y = (1, 2, 3) print(tuple(reversed(y))) # (3, 2, 1)
字符串反转
z = 'Hider' print(''.join(reversed(z))) # 字符串连接 迭代器遍历 # rediH
总结
加载全部内容