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
这是全部代码,不过绝大多数与本问题无关,不过不知道问题出在哪儿,所以就全粘了上来
输出的<class 'list'>的原因是
python一般有3个层次的作用域范围:函数的局部作用域、全局作用域 和 内置作用域。
作用域的范围排序是按照从内到外。
list 系统内置的函数是在最外层的内置作用域中。
你用list做变量名。是在全局作用域中,就暂时遮蔽了内置作用域中的list内置函数。
等用 del list 删除了全局作用域中的list变量之后,就又暴露出了内置作用域中的list内置函数,
print(list) 输出的<class 'list'>就是内置作用域中的list内置函数。
new_list被删除后,该变量已经不存在,再调用它时会报错。见示例:
a=new=[1,2,3]
del a
print(a)#运行会报a没有定义错误,因为该变量已经被解除了对列表的引用,成了没有定义的变量。
print(new)#变量new仍引用列表对象,所以输出[1,2,3]
List.clear() 是清空列表中的元素。只是把列表中的元素都删除,让列表变成[]空列表。
而 del List 是删除 List 变量,删除之后 List 变量已经不存在了,再访问List变量就会报错。
如果要用 del 把列表中的元素都删除应该是 del List[:]
List.clear() 和 del List[:] 是等效的。
List = [1,2,3]
List.clear()
print(List) #输出 []
List1 = [1,2,3]
del List1[:]
print(List1) #输出 []
List2 = [1,2,3]
del List2
print(List2) # List2 变量已经删除了,再访问List2变量就会报错 NameError: name 'List2' is not defined
这个报错是说你的那个list变量不存在,没有定义啊,就是找不到这个new_list变量。
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632