Python 中的生成器函数与表达式:原理、应用与性能分析
1. 序列重排基础方法
1.1 简单序列重排
通过切片操作,我们可以对序列进行重排。以下是示例代码:
L = [2, 3, 1]
for i in range(len(L)):
L = L[1:] + L[:1] # Slice so any sequence type works
print(L, end=' ')
输出结果为:
[2, 3, 1] [3, 1, 2] [1, 2, 3]
另一种方式是将序列的前半部分移到末尾,同样能实现重排:
S = 'spam'
for i in range(len(S)): # For positions 0..3
X = S[i:] + S[:i] # Rear part + front part (same effect)
print(X, end=' ')
输出结果为:
spam pams amsp mspa
1.2 封装为简单函数
为了让上述代码更具通用性,我们可以将其封装为函数:
def scramble(seq):
res = []
for i in