reverse() 和 reversed()
reverse() 是python列表的一个内置方法 ( 也就是说在 元组 ,字典 ,字符串 中是没有这个内置方法的 ) , 用于列表中元素的反转
reversed() 是 python自带的一个方法 . 参数可以是 列表, 元组, 字符串 , 且不改变原对象. 经过reversed()的作用之后,返回的是一个把序列值经过反转之后的迭代器. 所以需要遍历, 或者list() 或者next() 方法获取作用后的值.
reverse() :
列表内置方法, a = [1,2,3,4,5] , a.reverse() 的返回值是None , 需要打印其作用的列表才可查看出具体的效果.
a = [1,2,3,4,5] print(a.reverse()) print(a) # 列表是可变序列, reverse()会改变原对象的值 打印结果 : None [5, 4, 3, 2, 1]
reversed()
注意 : reversed()之后,只在第一次遍历时返回值。
# 列表的反转 a = [1,2,3,4,5] b = reversed(a) c =list(b) print(a) print(b) print(c) 打印结果: [1, 2, 3, 4, 5] # reversed() 不改变原对象 <list_reverseiterator object at 0x00000180D3F854B0> # 返回的是一个把序列值经过反转后的迭代器 [5, 4, 3, 2, 1] # 通过list()方法获取作用后的值
# 元组的反转 x = (1,2,3,4,5) y = reversed(x) c = tuple(y) print(x) print(y) print(c) 打印结果: (1, 2, 3, 4, 5) # reversed() 不改变原对象 <reversed object at 0x000001196FBB54B0> # 返回的是序列值经过反转之后的迭代器. (5, 4, 3, 2, 1) # 通过tuple()方法或取作用后的值. 也可以用list()方法.
# 字符串的反转 l = 'abcdefg' m = reversed(l) n = list(m) print(l) print(m) print(n) 打印结果: abcdefg # reversed() 不改变原对象 <reversed object at 0x000001ACBCB06E60> # 返回的是一个序列经过反转之后的迭代器. ['g', 'f', 'e', 'd', 'c', 'b', 'a'] # 需要list()等方法遍历 获取作用后的值.
钟声敲响了日落,柏油路跃过山坡,一直通向北方的是我们想象,长大后也未曾经过~