我是靠谱客的博主 幸福百合,最近开发中收集的这篇文章主要介绍Python 中列表( List )中的 del,remove,和 pop 等的用法和区别1. pop2. remove3. del4. 列表中常用方法的时间复杂度,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1. pop
value = List.pop(index)
pop按照索引位置删除元素;
无参数时默认删除最后一个元素
返回删除的元素值
List_pop = [1, 2, 3, 4, 5, 6]
print(List_pop.pop(1)) # 返回删除后的元素值
print("after pop", List_pop)
# 2
# after pop [1, 3, 4, 5, 6]
2. remove
remove 按照值删除,删除单个元素,
删除首个符合条件的元素,
返回值为空 None
List_remove = [1, 2, 2, 2, 3, 4]
print(List_remove.remove(2))
print("after remove", List_remove)
# None
# after remove [1, 2, 2, 3, 4]
3. del
del 根据索引位置来删除单个值或指定范围内的值
3.1 使用del语句删除单独元素
【注意】:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除
List_del_1 = [1, 2, 2, 2, 3, 4]
del List_del_1[1]
print("after del List_del_1", List_del_1)
# after del List_del_1 [1, 2, 2, 3, 4]
3.2 使用del语句删除指定范围内的值
List_del_2 = [1, 2, 2, 2, 3, 4]
del List_del_2[2:4] # 删除[2,4)索引范围内的值
print("after del List_del_2", List_del_2)
# after del List_del_2 [1, 2, 3, 4]
3.3 del 删除整个数据对象(列表、集合等)
List_del_3 = [1, 2, 2, 2, 3, 4]
del List_del_3
# print(List_del_3) # 删除后,找不到对象
# NameError: name 'List_del_3' is not defined
# 注意:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除
4. 列表中常用方法的时间复杂度
index() O(1)
append O(1)
pop() O(1)
pop(i) O(n)
insert(i,item) O(n)
del operator O(n)
iteration O(n)
contains(in) O(n)
get slice[x:y] O(k)
del slice O(n)
set slice O(n+k)
reverse O(n)
concatenate O(k)
sort O(nlogn)
multiply O(nk)
O括号里面的值越大代表效率越低
由此可见,如果算法中采用 pop( index) 的做法去删除数据,其实空间复杂度已经是 O(n).
最后
以上就是幸福百合为你收集整理的Python 中列表( List )中的 del,remove,和 pop 等的用法和区别1. pop2. remove3. del4. 列表中常用方法的时间复杂度的全部内容,希望文章能够帮你解决Python 中列表( List )中的 del,remove,和 pop 等的用法和区别1. pop2. remove3. del4. 列表中常用方法的时间复杂度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复