weixin_45890947 2021-05-29 23:33 采纳率: 100%
浏览 128
已采纳

python 都是删除列表操作,怎么一个报错一个不报错

  • list=[10,20,30,440,50,60,30]
    print('------------------------移除一个指定元素-------------------')
    list.remove(30)
    print(list)            #有重复元素时只删除第一个元素
    #list.remove(1000)      #当要删除的元素在列表中不存在时,报错:ValueError: list.remove(x): x not in list
    print('------------------第一次移除元素之后------------------------')
    print(list)
    print('----------------  删除指定位置元素------pop-------------------------')
    list.pop(3)
    print(list)
    #list.pop(33)          #指定的索引不存在,位置异常:IndexError: pop index out of range
    list.pop()            #不写参数时删除最后一个元素
    print(list)
    print('----------------------切片删除元素,至少一个元素,将产生一个新的列表对象----------------------------')
    new_list=list[1:3]
    print('原列表',list)
    print('切片后',new_list)             #新列表为指定的元素
    
    print('------------------------不产生新的列表对象,删除原列表中的元素-------切片操作------------------')
    list[1:3]=[]                          #用空列表代替指定位置的切片操作
    print(list)                        #操作后,删除指定位置的元素
    
    
    print('-----------------清除列表中的所有元素----clear------------------')
    list.clear()
    print(list)
    
    print('--------------------删除列表对象  del语句---------------------------------')
    del list  #之后list这个列表对象不存在了
    print(list)
    del new_list
    print(new_list)                    #NameError: name 'new_list' is not defined

    这是全部代码,不过绝大多数与本问题无关,不过不知道问题出在哪儿,所以就全粘了上来

 

  • 写回答

5条回答 默认 最新

  • 关注

    输出的<class 'list'>的原因是

    python一般有3个层次的作用域范围:函数的局部作用域、全局作用域 和 内置作用域。

    作用域的范围排序是按照从内到外。

    list 系统内置的函数是在最外层的内置作用域中。

    你用list做变量名。是在全局作用域中,就暂时遮蔽了内置作用域中的list内置函数。

    等用 del list 删除了全局作用域中的list变量之后,就又暴露出了内置作用域中的list内置函数,

    print(list) 输出的<class 'list'>就是内置作用域中的list内置函数。


     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀