1.列表数据元素排序

在创建的列表中,数据元素的排列顺序常常是无法预测的。这虽然在大多数情况下都是不可避免的,但经常需要以特定的顺序呈现信息。有时候希望保留列表数据元素最初的排列顺序,而有时候又需要调整排列顺序。python提供了很多列表数据元素排序的方式,可根据情况选用。

1.永久性排序

python的sort函数能够较为轻松的对列表数据元素进行排序。

其语法格式:列表变量名.sort()

假设你有一个汽车列表,并要让其中的汽车按字母排序。为简化这项任务,我们假设列表中数据元素的所有值都是小写,编写程序如下所示



运行结果如下所示



我们发现cars中数据元素的顺序已经被改变。

我们还可以按与字母顺序相反的顺序排列列表数据元素,为此,只需向sort函数传递参数reverse=True即可,编写程序如下所示



运行结果如下所示

2.临时性排序

要保留列表数据元素原来的排列顺序,同时以特定的顺序呈现他们,可使用sorted函数。sorted函数能够按特定顺序显示列表数据元素,同时不影响它们在列表中的原始排列顺序。

其语法格式:列表变量名.sorted()

编写程序如下所示



运行结果如下所示



我们可以发现,调用sorted函数后,列表数据元素的排列顺序没有变。如果要按与字母顺序相反的顺序显示列表,可向sorted函数传递参数reverse=True,编写程序如下所示



运行结果如下所示



在并非所有值都是小写时,按字母顺序排列列表要复杂些。决定排列顺序时,有多种解读大写字母的方式,要指定准确的排列顺序,可能比我们这里所做的要复杂。然而,大多数排序方式都是基于本节介绍。

3.反转列表数据元素

要反转列表数据元素的排列顺序,可使用reverse函数。

其语法格式:列表变量名.reverse()

假设汽车列表是按购买时间排列的,可轻松地按相反的顺序排列其中的汽车,编写程序如下所示



运行结果如下所示



注意:

①reverse函数不是指按与字母顺序相反的顺序排列列表数据元素,而只是反转列表数据元素的排列顺序。

②reverse函数永久性地修改列表数据元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需再次调用reverse函数即可。

2.获取列表长度

使用len函数可快速获悉列表的长度。

其语法给是:列表变量名.len()

编写程序如下所示



运行结果如下所示



python计算列表元素个数时是从索引1开始的,因此确定列表长度时,不会存在差一错误,有几个数据元素,列表的长度就是几。

3.遍历列表

经常需要遍历列表的所有数据元素,对每个数据元素执行相同的操作。需要对列表中的每个数据元素都执行相同的操作时,可使用python中的for循环。

其语法格式:



假设我们有一份学员名单,需要将其中每个学员的名字都打印出来。为此,我们可以分别获取名单中的每个名字,但这种做法会导致多个问题。

问题1:如果名单很长,将会包含大量重复代码

问题2:每当名单的长度发生变化时,都必须修改代码。

在实际编程中我们通过使用for循环语句,可让python去处理这些问题。编写程序如下所示:



for循环语句的知识点我们放在后面着重介绍,现在我们只要知道可以通过for循环,通过"照葫芦画瓢"能够实现对列表的遍历即可。

【python基础】复杂数据类型-列表类型(排序/长度/遍历)的更多相关文章

  1. 第三节 Python基础之数据类型(列表,元组,字典)

    列表,简单说就是用[]括起来的一大堆数据,这些数据我们叫做元素,元素与元素之间用","隔开,这些元素可以是数字,布尔值,字符串,列表等等,基本所有的数据类型都可以放在列表里边,同时 ...

  2. Python基础:数据类型-列表与元组(6)

    Python中数据结构主要有序列.集合和字典. 1. 通用序列操作 Python内置了多种序列,其中最常用的两种:列表和元组.另一种重要的序列是字符串. 列表和元组的主要不同在于:列表是可以修改的,而 ...

  3. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  4. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  5. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  6. 『Python基础-8』列表

    『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  7. 2015/9/1 Python基础(6):列表

    列表和字符串类型很相似,是同样的序列式数据类型.但是字符串只能由字符组成,列表可以保留任意数目的Python对象的灵活的容器.Python的列表比C的数组要灵活,数组里面只能是一种类型,列表可以有多种 ...

  8. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  9. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  10. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

随机推荐

  1. Firefox、Edge下无法使用jQuery的css("margin")、css("padding”)和css("border")获取值

    今天遇到了浏览器的迷惑行为,在Edge上使用jQuery的css("margin")获取值,发现获取的是空值,换了Firefox也是如此.看了jquery官方原话,发现如下一段话R ...

  2. Java面试——搜索

    更多内容,前往 IT-BLOG 一.Elasticsearch了解多少 ElasticSearch 是一个基于 Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTfu ...

  3. MapReduce Shuffle源码解读

    MapReduce Shuffle源码解读 相信很多小伙伴都背过shuffle的八股文,但一直不是很理解shuffle的过程,这次我通过源码来解读下shuffle过程,加深对shuffle的理解,但是 ...

  4. hyperf协程免费查询快递物流

    https://blog.csdn.net/lin5188230/article/details/124920474

  5. 升级二进制kubernetes集群

    升级二进制kubernetes集群 背景介绍 最近由于时间不足,暂时无法对小版本更新第一时间出新的文档.若需要升级集群版本,可以参考此文档进行操作,每个节点一个一个地更新.大版本更新请各位持续关注我的 ...

  6. 二进制安装Kubernetes(k8s) v1.23.5

    Github:https://github.com/cby-chen/Kubernetes/releases 前提说明:公主号不支持富文本,建议在Github查看. 1.23.3 和 1.23.4 和 ...

  7. Cisco RV32X系列路由器 从1day分析到0day挖掘

    前言 拿到一个iot设备,笔者比较喜欢先去看一下它的历史漏洞,也许可以从中得到一些启发.发现Cisco之前修补过这个系列设备的命令注入漏洞. https://sec.cloudapps.cisco.c ...

  8. [大数据]Hadoop常用命令合集

    hadoop 查看hadoop版本 # hadoop version SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found ...

  9. 一道名题-(csp 儒略日)的心得与技巧

    引: 如果你见到一个oi对着 4713,1582 146097 2299160 颠颠地笑,不用怀疑,他是在做那道名题--<csp-s2020 T1 儒略日> 这道题,我做了三年,平均每年做 ...

  10. 关于微人事中POI导入文件到数据库的异常以及自己的一些技术心得

    前言 在近四个月的时间里面,我的微人事项目才逐渐接近尾声,在昨天的测试接口中出现了两次数组越界以及一次空指针异常,三处异常我都通过吊事bug根据项目实际情况解决了,但是在空指针异常那里还是带有疑问,起 ...