今天爱分享给大家带来Python 如何反序地迭代一个序列?【面试题详解】,希望能够帮助到大家。
Python 中常见的序列有字符串、列表及元组。对序列反序,可以利用内置函数 reversed() 或 range() 来实现,也可以用扩展切片 [::-1] 的形式实现。如果这个序列是列表,那么还可以使用列表自带的 reverse()方法。
(1) reversed() 是 Python 内置的函数,它的参数可以是字符串、列表或元组等序列。
(2) 利用 range() 方法生成序列的反序索引,然后从最后的元素遍历到开始的元素,就可以反序输出序列的元素。range(start, end[,step]) 方法的参数说明:
start:计数从 start 开始。默认是从 0开始。
end:计数到 end 结束,但不包括 end。
step:步长,默认为 1。
(3) seq[::-1] 扩展切片方法是利用了序列的切片操作,切片是序列的高级特性。seq[::-1] 表示反向获取 seq 中的所有元素,并且每次取一个。-1 表示从序列的最后一个元素反向遍历获取。
(4) 如果是列表(list) 序列,那么还可以直接用列表的 reverse() 方法。示例代码如下:
seq = "Hello World" # reversed()内置函数方法 for s in reversed(seq): print(s, end="") print() # 换行 # range()函数方法 for i in range(len(seq) - 1, -1, -1): s = seq[i] print(s, end="") print() # [::-1]扩展切片方法 for s in seq[::-1]: print(s, end="") print() # list 自带的 reverse()方法 seq = [1, 2, 3, 4, 5, 6] seq.reverse() for s in seq: print(s, end="") print()