我目前正在学习python,以备面试之用。关于python中的列表,我试着将我的头围绕在下面:
arr = [1,2,3,9,10,12]
for i in arr:
arr.remove(i)
这就产生了列表[2,9,12],但是:
arr = [1,2,3,9,10,12]
for i in list(arr):
arr.remove(i)
这将生成所需的空列表[]。有人能解释为什么吗?既然remove()按项值移除,那么以第一种方式迭代列表是否也会导致空列表?
免责声明,我正在通过HackerRank使用Python3测试这一切。