• Geek_Mike
    2023-06-30 来自云南
    list1 = [1,2,3,4] a = 0 for i in range(len(list1)): #range(len(list1))相当于range(0,4),在遍历过程中i的值依次是0,1,2,3 a = list1.pop(i) #pop默认从索引-1开始删除元素(最后一个),但如果pop的参数定成i,就是从0开始(第一个)。这样的话,第一个被删掉和返回的值是0号元素1,第二个被删掉和返回的值是1号元素3(这轮循环中列表是[2,3,4])。当第三次pop尝试删掉2号元素时,发现列表里只剩[2,4]且索引只能到1了。所以报错:pop index out of range print(a) #输出结果:1 3,然后报错pop index out of range。不建议在遍历的过程中更改列表的长度。
    
    1
  • yanyu-xin
    2023-01-26 来自广东
    按课程举例练习,如下,列表数据是被修改,但程序没有出错的。建议适当修改举例 list1 = [ 'a', 'b', 'c', 'd' ] for i in range( len( list1 ) ): print(i) list1.pop() print(list1) '''0 ['a', 'b', 'c'] 1 ['a', 'b'] 2 ['a'] 3 [] '''
    共 1 条评论
    
  • 江江儿嘛哩哄
    2022-12-29 来自浙江
    视频中的小练习: list1 = ['a','b','c','d'] for i in range(len(list1)): list1.pop() print(len(list1))
    
    