Python小课堂之木辛老师特别讲解:列表的搜索和排序

上一节课,我们讲了Python中列表的一些基本操作,本节课程将会深入的讲解列表的搜索和排序的功能

请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习Python编程知识,变身快乐的编程达人吧~

搜索列表

我们现在的列表里有很多元素了,如果我们想查找一下元素’O'是否存在列表中,应该怎么办呢?

如果一个个查找的话,不一会就眼花缭乱了,该怎么办呢?

对了!有的小朋友们提出来:让我们问问Python有没有提供查找列表元素的方法吧。

这个思维方式非常棒!当我们养成了动脑筋的好习惯之后,不仅对编程很有帮助,也非常有益于我们今后的学习和生活,对提高小朋友们的逻辑思维能力有很多帮助。

那好,就让我们问下Python有没有什么函数可以帮助我们快速的查找到列表中的元素吧?

嗯,Python还真的提供了方法帮助我们查找呢~

  1. 查找元素是否在列表中
  2. 查找元素在列表中的哪个位置(元素的索引)

巧用in关键字

如果想要找出某个元素是否在列表中,可以使用in关键字,比如可以这样

“O” in letters 这句代码是一个布尔表达式。如果“O”在列表中,则返回True,否则返回False。

木辛博士说

布尔(boolean)是一种只使用两个值(1和0,True和False)的算术运算。这是数学家 乔治·布尔发明的;用and,or和not来结合True和False条件进行的布尔运算。

查找索引

为了找出一个元素位于列表中的什么位置,也可以使用index()函数,比如像这样:

我们查找了一下“c“这个元素,Python告诉我们它在索引为2的位置;我们又查找了“z”这个元素,Python则提示我们z不存在于这个列表。

嗯嗯,还是那个原则,咱们无法操作不存在的元素,只能处理存在的元素!

两者完美结合

上一个例子,因为不存在’z’这个元素,IDLE报出了红色错误,我们如果想让程序稳定的运行,是不能有类似错误的,这应该怎么办呢?

小朋友们有没有想到:in函数可以得到某个元素是否存在于列表中,而index函数可以得到这个元素所在列表的位置;那么如果我们结合两者使用,是不是会得到很健壮的代码呢?

木辛博士说

计算机科学中,健壮性(英语:Robustness)是指一个计算机系统在执行过程中处理错误,以及算法在遭遇输入、运算等异常时继续正常运行的能力。 诸如模糊测试之类的形式化方法中,必须通过制造错误的或不可预期的输入来验证程序的健壮性。很多商业产品都可用来测试软件系统的健壮性。健壮性也是失效评定分析中的一个方面。

问题的本质就是:我们需要先知道到这个元素是否存在与这个列表中,然后再通过函数获取到他的位置;如果不存在,则不需要去查找他的位置了。

那么程序应该这么写:

这样是不是就增强了咱们程序的健壮性了呢?

循环处理和排序

我们最早开始讨论循环的时候学到:循环可以完成一个值列表的迭代处理。还了解了range函数,并用它作为快捷方式为循环生成数字列表。不过呢,循环完全可以迭代处理任何列表,不仅限于数字列表哟!

比如像我们今天学习的内容:

通过我们这里的循环迭代,是不是把字符列表中的每个元素都打印出来了呀!

有的小朋友问,我们开始创建这个字符列表的时候是按照字母的顺序建立的,如果没有按照字母的顺序,但是想按照字母顺序输出,该怎么做呢?

嗯,这个问题问的好!

这就涉及到了列表排序的问题了,事实上列表是一种有顺序的结合。

这也说明列表中的元素有某种顺序,每个元素都有自己的位置,也就是他的索引。一旦以某种顺序将元素放在列表中,他们就会保持这种顺序,除非使用insert() append() remove() 和 pop()改变列表。

在Python里边对列表排序可以使用

  1. sort()方法 按照字母顺序对列表进行排序
  2. reverse() 方法 按照字母顺序的倒序对列表进行排序
  3. 第三种方法可以通过使用sort函数,并传入一个reverse = True的参数使其按照字母倒序排序

嗯嗯,经过我们的测试,程序执行的效果确实和我们的预期是一致的!非常棒,我们又掌握了一些新的知识了!

好了,今天的课程就到这里了,咱们回顾一下学到的内容吧

  1. 什么是列表
  2. 如何向列表中增加元素
  3. 如何删除列表中的元素
  4. 如何查找元素
  5. 元素如何排序
python基础教程教材Python编程从零基础到项目实战实例python入门python语言及其应用程序设计python爬虫书籍python视频教程小甲鱼 ¥39.9 购买

小朋友们不要忘记关注我们哟 ,下期课程会带领大家学习Python中函数的概念:《10分钟学会使用函数,让我们的程序更整洁》

快乐编程,快乐成长,咱们下次课再见!

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();