【python基础】复杂数据类型-列表类型(排序/长度/遍历)
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基础】复杂数据类型-列表类型(排序/长度/遍历)的更多相关文章
- 第三节 Python基础之数据类型(列表,元组,字典)
列表,简单说就是用[]括起来的一大堆数据,这些数据我们叫做元素,元素与元素之间用","隔开,这些元素可以是数字,布尔值,字符串,列表等等,基本所有的数据类型都可以放在列表里边,同时 ...
- Python基础:数据类型-列表与元组(6)
Python中数据结构主要有序列.集合和字典. 1. 通用序列操作 Python内置了多种序列,其中最常用的两种:列表和元组.另一种重要的序列是字符串. 列表和元组的主要不同在于:列表是可以修改的,而 ...
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- 『Python基础-8』列表
『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- 2015/9/1 Python基础(6):列表
列表和字符串类型很相似,是同样的序列式数据类型.但是字符串只能由字符组成,列表可以保留任意数目的Python对象的灵活的容器.Python的列表比C的数组要灵活,数组里面只能是一种类型,列表可以有多种 ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
随机推荐
- 获得New Bing资格后,在Ubuntu环境下使用New Bing
技术背景 如今基于GPT-4的New Bing,结合搜索引擎的功能,可以说已经达到了非常高的智力水平.虽说ChatGPT的出现打击了很多的行业,但是对我们来说也未必不是一种机遇.合理的使用ChatGP ...
- Spring AOP面向切面编程案例 (注解驱动开发)
AOP(动态代理):指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式:[1]导入 aop 模块:Spring AOP:(spring-aspects):[2]定义一个业务逻辑类 ...
- C++ 用户输入验证
在编写程序时,请考虑用户将如何滥用您的程序,尤其是在文本输入方面.对于每个文本输入点,请考虑: 会不会提取失败? 用户可以输入比预期更多的输入吗? 用户可以输入无意义的输入吗 用户可以溢出输入吗? 以 ...
- [CTF]picoCTF-day1
Lets Warm Up If I told you a word started with 0x70 in hexadecimal, what would it start with in ASCI ...
- 全网最详细中英文ChatGPT-GPT-4示例文档-快速创意生成从0到1快速入门——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)
目录 Introduce 简介 setting 设置 Prompt 提示 Sample response 回复样本 API request 接口请求 python接口请求示例 node.js接口请求示 ...
- [Linux/CENTOS]YUM提示: Another app is currently holding the yum lock; waiting for it to exit...
1 问题描述 使用yum安装Nginx的安装依赖组件: yum -y install gcc gcc-c++ automake autoconf libtool make 但是,在执行过程中出现如下信 ...
- Springfox与SpringDoc——swagger如何选择(SpringDoc入门)
本文分享自天翼云开发者社区@<Springfox与SpringDoc--swagger如何选择(SpringDoc入门)>,作者: 才开始学技术的小白 0.引言 之前写过一篇关于swagg ...
- LeeCode 316周赛复盘
T1:判断两个事件是否存在冲突 思路:判断两个区间是否有交集 public boolean haveConflict(String[] event1, String[] event2) { // 比较 ...
- php对接snmp设备详细讲解
1.Php安装snmp扩展 1.基础环境准备 Php7.2版本 yum -y install php72w-snmp Php7.4版本 yum install net-snmp php-snmp ne ...
- Git rebase使用小结
1.分支之间rebase 构造两个分支master和feature,其中feature是在提交点B处从master上拉出的分支 master上有一个新提交M,feature上有两个新提交C和D 此时我 ...