Python del、pop()、remove()、clear()

目录


一、del

1. del List

lst = ['wangke', 'wangyan', 'wangying', 'qinlu']
del lst[3]
print(lst)

输出:

['wangke', 'wangyan', 'wangying']

删除变量。

lst = ['wangke', 'wangyan', 'wangying', 'qinlu']
lst2 = lst
print(lst2, id(lst2))
print(lst, id(lst))
del lst         # 删除变量
print(lst2, id(lst2))

print(lst, id(lst))

输出:

['wangke', 'wangyan', 'wangying', 'qinlu'] 1785728754184
['wangke', 'wangyan', 'wangying', 'qinlu'] 1785728754184
['wangke', 'wangyan', 'wangying', 'qinlu'] 1785728754184

NameError: name 'lst' is not defined

除了删除变量,其他删除都是删除数据。

lst = ['wangke', 'wangyan', 'wangying', 'qinlu']
lst2 = lst
del lst[:]
print(lst, id(lst))
print(lst2, id(lst2))

输出:

[] 2082692358664
[] 2082692358664


二、pop

1. List pop()

描述

pop()移除列表中的一个元素(默认最后一个),并返回元素的值。

语法

list.pop([index=-1])
  • index:可选。要移除列表元素的索引。默认 index=-1。

返回值:列表中移除的元素。

实例

lst = ['wangke', 'wangyan', 'wangying', 'qinlu']
lst.pop()
print(lst)
a = lst.pop(0)
print(a)

输出:

['wangke', 'wangyan', 'wangying']
wangke

2. 字典 pop()

描述

pop()删除字典给定键对应的值,返回被删除的值。key必须给出,否则,返回默认值。

语法

pop(key[, default])
  • key:要删除的键
  • default:没有key,返回默认值。

返回值:被删除的值。

实例:

dict = {'name': 'wangke', 'age': 30, 'sex': 'male'}
value = dict.pop('name')
print(value)

输出:

wangke

3. Set pop()

描述

pop()随机删除一个元素。

语法

set.pop()

返回值:移除的元素。

实例:

sets = {'wangke', 'wangyan', 'wangying'}
sets.pop()
print(sets)

输出:

{'wangying', 'wangke'}


三、remove

1. List remove()

描述

remove()移除列表中第一个匹配项。

语法

list.remove(obj)
  • obj:列表中移除的对象。

返回值:

实例

lst = ['wangke', 'wangyan', 'wangying', 'qinlu']
lst.remove('qinlu')
print(lst)

输出:

['wangke', 'wangyan', 'wangying']

2. Set remove()

描述

remove()移除集合中指定元素。

该方法不同于 discard(),因为 remove()移除不存在的元素会报错,discard()不会。

实例

sets = {'wangke', 'wagnyan', 'wangying', 'qinlu'}
sets.remove('qinlu')
print(sets)

输出:

{'wagnyan', 'wangying', 'wangke'}


四、clear

1. List clear()

描述

clear() 用于清空列表,类似del a[:]

语法

list.clear()

返回值:

实例

lst = ['wangke', 'wangyan', 'wangying', 'qinlu']
lst.clear()
print(lst)

输出:

[]


上一篇:3.7比特币日内能破位50000吗?以太坊解套布局思路


下一篇:3.5比特币大饼行情涨跌受非农数据影响大吗?后市晚间如何布局