[Python] reverse()函数 VS reversed()函数

reverse()函数

reverse()函数用于反向列表中元素

语法

list.reverse()

返回值

该方法没有返回值,但是会对列表的元素进行反向排序

实例

aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.reverse()
# ['xyz', 'abc', 'zara', 'xyz', 123]
print(aList)

注意: list.reverse()没有返回值,会直接反转list列表,从而改变原来的list列表 

aList = [123, 'xyz', 'zara', 'abc', 'xyz']
print(aList.reverse()) # None

字典、元组、字符串不具有reverse()方法,如果调用将会返回一个异常

aDict = {'a':1,'b':2,'c':3}
# 报错,AttributeError: 'dict' object has no attribute 'reverse'
aDict.reverse()
aTuple = (1,2,3,4,5)
# 报错,AttributeError: 'tuple' object has no attribute 'reverse'
aTuple.reverse()
aStr = 'Hello World!!'
# 报错,AttributeError: 'str' object has no attribute 'reverse'
aStr.reverse()

reversed()函数 

reversed()函数返回一个反转的迭代器 

语法 

reversed(seq)

参数

seq: 要转换的序列,可以是tuple(元组), string(字符串), list(列表)或range

返回值

返回一个反转的迭代器

实例

# 字符串反转
seqString = 'Hello'
# 'olleH'
print(''.join(reversed(seqString)))
 
# 元组反转
seqTuple = (1,2,3)
# (3, 2, 1)
print(tuple(reversed(seqTuple)))
 
# range反转
seqRange = range(1, 6)
# [5, 4, 3, 2, 1]
print(list(reversed(seqRange)))
 
# 列表反转
seqList = [1, 2, 3, 4, 5]
# [5, 4, 3, 2, 1]
print(list(reversed(seqList)))

# 字典dict没有reversed()函数,调用会报错
seqDict = {'a':1,'b':2,'c':3}
# 报错,TypeError: 'dict' object is not reversible
reversed(seqDict)

注意: reversed(seq)有返回值,不会改变原seq 

你可能感兴趣的:(Python,python)