For循环中迭代数据失败如何解决?

最近遇到一奇葩问题 ,用for循环循环一个列表 ,然后循环的时候还要变更这个被迭代的列表!
然后这就不行了 各种乱套因为 下标变更了。 如何办呢? 看代码!

#列表
xx = ['a','b','c']

“”“   问题代码:
for key in xx:
    xx.pop(0)
    print (xx)

OUT---》:
['b', 'c']
['c']
“”“  


#真正解决问题的代码:::-----
while(len(xx)!=0):
    print(xx)
    xx.pop(0)

“”“  
['a', 'b', 'c']
['b', 'c']
['c']


”“”