Python 如何反序的迭代一个序列?【面试题详解】

今天爱分享给大家带来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()

人已赞赏
Python

Python 如何求两个列表(list)的交集、差集或并集?【面试题详解】

2020-11-13 13:36:21

Python

Python 列表list的sort方法和sorted方法有何区别?【面试题详解】

2020-11-13 13:41:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();