python yield使用过程出现一个不知道为什么行不通的点
a = [1,2,3,4,5]
def aaa(a):
for i in range(0,len(a)):
a.remove(a[0])
yield a
result =[]
for i in range(0,5):
result1 = next(aaa(a))
result.append(result1)
print(result)
print(result[-2])
[[], [], [], [], []]
[]
另一种书写
a = [1,2,3,4,5]
def aaa(a):
for i in range(0,len(a)):
a.remove(a[0])
yield a
result =[]
for i in range(0,5):
result1 = next(aaa(a))
result.append(list(result1))
print(result)
print(result[-2])
[[2, 3, 4, 5], [3, 4, 5], [4, 5], [5], []]
[5]
为什么呢,求各位指教