[oeasy]python089_列表_删除列表项_remove_列表长度_len

本文涉及的产品
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 本文介绍了Python列表(list)的操作方法,重点讲解了`remove`方法的使用。通过实例演示如何删除列表中的元素,探讨了`ValueError`异常产生的原因,并分析了时间复杂度O(n)的概念。同时提及了`clear`方法清空列表的功能及`len`函数获取列表长度的用法。最后以购物清单为例,展示列表的实际应用场景,并预告快速生成列表的方法将在后续内容中介绍。

列表_删除列表项_remove_列表长度_len

回忆

  • 上次了解了 list列表的 清空方法
  • clear
  • clear
  • 前面要有 对象名
  • .(点)的意思是 里面的
  • 可以把整个列表清空
  • 就像清空回收站

clist = list("oeasy")
clist
clist.clear()
  • 不想 清空
  • 定点删除 可以 吗?🤔

观察

  • 我们要找的是list的方法
lst = []
lst.
  • 你觉得哪个是呢?

查找文档

help(list)
  • 求助

  • 这句话中的 first occurrence
  • 是什么意思呢?

first occurrence

  • first occurrence
  • 先出现的
num_list = [0, 1, 2, 0]
num_list
  • 图中红框里面的元素
  • 都不止出现一次

  • remove的是
  • 第一次(first)出现(occurrence)的 value元素
  • 要是想删除的 一次也没出现过呢?😊

Raises ValueError

num_list = [0, 1, 2, 0]
num_list.remove(3)
  • 3 不在 num_list里面
  • 所以就 Raises 了 ValueError
  • 引发了 值错误

  • ValueError了
  • 这个Error我们见过

ValueError

  • ValueError
int("oeasy")
  • 无法将 oeasy 转化为 整型数字

  • list.remove 为什么抛出 ValueError呢?

ValueError

list.remove
help(list.remove)
  • 不能 删除(remove)
  • 列表中 不存在的元素

  • remove什么意思呢?

remove

  • 向ai提问

  • 把已经move进列表的 列表项
  • remove 出列表
  • 可以向 列表中 追加(append)
  • 已经存在的元素吗?

同样元素

name_list = ['oeasy', 'o2z', 'o3z', 'o4z']
  • 再 append 字符串oeasy

  • 追加 同样元素
  • 是允许的
  • 两个 oeasy
  • 一个在头一个在尾
  • 怎么删呢?

查找

  • help(list)
  • /remove

  • 我们可以看到 remove
  • 第一个参数也是 self
  • 说明remove是一个成员方法
  • 这个方法就一个参数
  • 就是 value

删除

  • 两个重名的列表项会删除哪个呢?

  • 帮助手册说
  • 会删除 出现的
  • first occurrence
  • 如果 列表有 上万个 列表项
  • 一个一个地 从头捋到尾 吗?

最坏的情况

  • 确实需要 挨个捋

  • 挨个捋一遍
  • 会消耗 多少时间 呢?

时间复杂度

  • 大列表 删除的时候
  • 需要注意

  • 什么是 O(n) 呢?

O(n)

  • 挨个问一遍
  • 需要的时间 和列表长度n 成
  • 也被称作 O(n)

  • 大O表示法
  • Big O Notation
  • 时间复杂度表示方法
  • 横轴 空间
  • 纵轴 是 时间
  • 想一把 将列表 清个干净 💢

查找

help(list.clear)
  • self 说明这是 list 类的成员方法
  • 这个方法没有参数

  • 直接就清空

  • 真的都删了
  • 只剩一对方括号
  • 里面什么也没有
  • 现在的 name_list 是个什么?

空列表

len(name_list)
  • 删空了的列表
  • 里面啥都没有

  • 这个列表的长度(length)为0
  • 真的空了...
  • 成了 空列表
  • 空了之后 我还想再删除某元素
  • 会如何?

不存在的

  • 删除一个不存在的
  • 那就报错了

  • 我们去建立一些
  • 更有意义的列表

购物清单

  • 一个购物清单
  • shopping_list

  • 新建了一个空列表
  • 就是一对方括号
  • 名字叫做 shopping_list

新建

shopping_list = ["健康", "关系", "自我实现", "快乐", "经历"]
  • 购物清单里面 东西太多了
  • 要 一个一个删除
  • 先删哪个呢?
  • 抉择的过程

总结

  • 这次 学习了 list的新方法
  • remove 删除
  • 需要把被删除的列表项 作为参数

相关文章
|
24天前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
52 20
|
26天前
|
Python 容器
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
本文介绍了Python中列表的生成方法,重点讲解了`range()`函数的使用。通过`range(start, stop, step)`可生成一系列整数,支持正负步长,但不支持小数参数。文章从基础的列表追加、直接赋值到复杂的应用场景(如生成等宽字体的月份列表),结合实例演示了`range()`的灵活性与实用性。最后总结了`range()`的关键特性:前闭后开、支持负数步长,并提供了进一步学习的资源链接。
74 15
|
20天前
|
索引 Python
[oeasy]python092_eval_衡量_转化为列表
本文探讨了 Python 中 `eval` 函数的用法及其与字符串和列表之间的转换关系。通过实例分析,展示了如何使用 `eval` 将字符串转化为对应的数据类型,例如将表示列表的字符串转回列表。同时,文章深入讲解了 `eval` 的工作机制,包括根据本地和全局变量对字符串进行计算的能力。此外,还提醒了命名变量时需避免覆盖内置类名(如 `str`、`int`、`list`)的重要性,以免影响程序正常运行。最后,简要提及字符串和列表索引中负数的应用,并为读者提供了进一步学习的资源链接。
29 2
|
1月前
|
人工智能 Python
[oeasy]python088_列表_清空列表_clear
本文介绍了Python中列表的清空方法`clear`。通过实例讲解了`clear`与将列表赋值为空列表的区别,前者会清空原列表内容,而后者创建新空列表,不影响原列表。文中以收银程序为例,展示了`clear`的实际应用场景,并通过地址观察解释了两者的机制差异。最后总结了相关术语如`list`、`append`、`clear`等,帮助理解列表操作及方法调用的概念。
56 6
|
2月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
2月前
|
人工智能 Java 数据安全/隐私保护
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
98 28
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
2月前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
50 4
|
2月前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
2月前
|
数据采集 搜索推荐 C语言
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化和调试技巧,涵盖使用内置函数、列表推导式、生成器、`cProfile`、`numpy`等优化手段,以及`print`、`assert`、`pdb`和`logging`等调试方法。通过实战项目如优化排序算法和日志记录的Web爬虫,帮助你编写高效稳定的Python程序。