第三章列表简介(二)

(野生程序员) (野生程序员)     2022-08-25     131

关键词:

3.3 列表组织

    我们创建的列表中,元素的排列顺序常常是无法预测的,因为我们并非总能控制用户提供数据的顺序。这虽然在大多数情况下都是不可避免的,但我们经常需要以特定的顺序从呈现信息。有时候,我们希望保留列表元素最初的排列顺序,而有时候又需要调整排列顺序。Python提供了很多组织列表方式,可根据具体情况选用。

3.3.1 使用方法sort()对列表进行永久性排序

    使用方法sort()让我们较为轻松地对列表进行排序。假如我们有一个汽车列表,并让其中的汽车按字母顺序排列。为简化这项任务,我们假设该列表中的所有值都是小写的。

 sort(...)
 |      L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
 |  
方法sort()中,reverse的含义是颠倒,反转,倒转的含义,就是把列表的顺序倒序过来,首先对列表进行排序,当参数reverse = True时,表示,让列表进行倒序,默认情况下是正序,按照字母有小到大的顺序进行排序,a--z,A--Z

cars = ["bmw","audi","toyota","subaru"]
cars.sort()
print(cars)
cars.sort(reverse = True)
print(cars)
运行结果:

[‘audi‘, ‘bmw‘, ‘subaru‘, ‘toyota‘]
[‘toyota‘, ‘subaru‘, ‘bmw‘, ‘audi‘]

从运行结果中看,当sort()方法中参数reverse进行设置后,列表进行了倒序排序,首先进行排序,然后反转过来。

3.3.2 使用函数sorted()对列表进行临时排序

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

cars = ["bmw","audi","toyota","subaru"]
my_cars = sorted(cars)
own_cars = sorted(cars,reverse = True)
print(own_cars)
print(my_cars)
print(cars)


从中可以看出,当使用函数进行排序的时候,只是临时的排序,并没有改变列表原有的顺序,而且,sorted()函数也可以有第二参数,能够实现倒序的方
法。
注意,调用函数sorted()后,列表元素的排列顺序并没有变。如果我们要按照与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse =
True.
3.3.3 倒着打印列表
要反转列表元素的排列顺序,可使用方法reverse()。假设汽车列表的是按购买时间排列的,可轻松地按相反的顺序排列其中的汽车:
 reverse(...)
 |      L.reverse() -- reverse *IN PLACE*
从方法中可以看出,主要是对列表进行反转,把顺序进行颠倒,而不是进行排序,没有改变排列的顺序。
cars = ["bmw","Zudi","toyota","subaru"]
print(cars)
#对列表进行倒序,但是没有进行排序,只是反转
cars.reverse()
print(cars)
运行结果:
[‘bmw‘, ‘Zudi‘, ‘toyota‘, ‘subaru‘]
[‘subaru‘, ‘toyota‘, ‘Zudi‘, ‘bmw‘]
从运行结果可以看出,reverse()方法,只是对列表进行反转,没有对列表进行排序。不是指按与字母顺序相反的顺序排列列表元素,而只是反转列
表元素的排列顺序.
方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次进行reverse()方法即可。

3.3.4 确定列表的长度

使用函数len()可快速获悉列表的长度。在下面的实例中,列表包含4个元素,因此其长度为4,:
cars = ["bmw","Zudi","toyota","subaru"]
num = len(cars)
print(num)
运行结果:
4
在我们需要完成如下任务时,len()函数很有用:确定还有多少外星人未被射杀,需要管理多少项可视化数据,网站有多少注册用户等。

动手试一试
3-8 放眼世界:
想出至少5个你渴望去旅游的地方。
1、将这些地方存储在一个列表中,并确保其中的元素不是按字母顺序排列的;
2、按原始排列顺序打印该列表。不要考虑输出是否整洁的问题,只管打印原始Python列表;
3、使用sorted()按字母顺序打印这个列表,同时不要修改它;
4、再次打印该列表,合适排列顺序未变;
5、使用sorted()函数按与字母相反的顺序打印这个列表,同时不要修改它;
6、再次打印该列表,核实排列顺序未变;
7、使用reverse()修改列表元素的排列顺序。打印该列表,合适排列顺序确实变了;
8、使用reverse()再次修改列表元素的排列顺序。打印该列表,核实已恢复到原来的排列顺序;
9、使用sort()方法修改列表,使其元素按字母顺序排列。打印该列表,核实排列顺序确实变了;
10、使用sort()方法修改列表,使其元素按与字母顺序相反的顺序排列。打印该列表,核实排列顺序确实变了。
cities = ["paris","tokyo","seoul","london","new york"]
#首先定义了一个列表,包含了所想去的城市
print(cities)
#排列方法主要有三种,考虑使用那中方法而已
my_cities = sorted(cities)
print(my_cities)
print(cities)
print(sorted(cities,reverse = True))
print(cities)
cities.reverse()
print(cities)
cities.reverse()
print(cities)
cities.sort()
print(cities)
cities.sort(reverse = True)
print(cities)
运行结果:
[‘paris‘, ‘tokyo‘, ‘seoul‘, ‘london‘, ‘new york‘]
[‘london‘, ‘new york‘, ‘paris‘, ‘seoul‘, ‘tokyo‘]
[‘paris‘, ‘tokyo‘, ‘seoul‘, ‘london‘, ‘new york‘]
[‘tokyo‘, ‘seoul‘, ‘paris‘, ‘new york‘, ‘london‘]
[‘paris‘, ‘tokyo‘, ‘seoul‘, ‘london‘, ‘new york‘]
[‘new york‘, ‘london‘, ‘seoul‘, ‘tokyo‘, ‘paris‘]
[‘paris‘, ‘tokyo‘, ‘seoul‘, ‘london‘, ‘new york‘]
[‘london‘, ‘new york‘, ‘paris‘, ‘seoul‘, ‘tokyo‘]
[‘tokyo‘, ‘seoul‘, ‘paris‘, ‘new york‘, ‘london‘]
排序的方法有三种,第一种是方法sort(reverse = True/False),默认没有参数的话是False,排序是对列表进行永久性的排序,因为这是一种方法
的排序,可以正序,也可以倒序排序;函数sorted(),函数sorted()是对列表进行临时性的排序,只是临时的进行排序即可,没有修改列表原始的排
列顺序;reverse()方法是对列表进行反转,就是把列表原来的顺序反转过来,所以在具体排序的时候,要根据目的选择使用哪一种排序方法,如果只
是临时排序就使用sorted()函数,如果永久性的进行排序则使用sort()方法,如果是反转列表的顺序,则使用reverse()方法。

3.4 使用列表时避免索引错误
刚开始使用列表时,经常会遇到一种错误,就是索引错误。假设我们有一个包含三个元素的列表,却要求获取第四个元素,这将导致索引错误

3.5 小结:
在本章中,我们学习了:列表是什么以及任何使用其中的元素;如何定义列表以及如何增删元素;如何对列表进行永久性排序,以及如何为展示
列表进行临时排序;如何确定列表的长度,以及在使用列表时如何避免索引错误。

 


 

第三章:列表简介

第三章:列表简介 3.1列表是什么  bicycles.py  bicycles_messae.py 1)列表由一系按特定顺序排列的元素组成,在Python中,用方括号[]来表示列表,并用逗号来分隔其中的元素  例:bicycles=[‘trek‘,‘cannondale... 查看详情

第三章-列表简介

1、列表是什么列表是由一系列按特定顺序排列的元素组成。鉴于列表通常包含多个元素,给列表制定一个表示复数的名称(如letters,digits或names)是个不错的主意。在Python中,用方括号([])来表示列表,并用逗号来分割其中元... 查看详情

第三章列表简介

   列表是一个很重要的章节内容,其实在Python中,主要是列表,字典,然后就是函数,类,类都是有各种功能的函数组成,只要掌握了列表、字典的性质,以及方法,然后了解函数的调用原则,参数是如何调用的,打... 查看详情

阶段二--第三组

...bsp;录1绪论11.1项目概述11.2项目意义12开发工具和相关技术简介22.1 Eclipse简介22.2Java语言介绍22.3MySQL简介32.4 JDBC技术简介33系统需求分析43.1系统可行性分析43.2系统需求分析43.3组内成员分工53.4项目进度安排54系统设计64.1 ... 查看详情

python程序开发——第三章列表与元组(代码片段)

目录一、列表(一)列表的创建(二)访问列表元素(三)列表的增删改(四)列表的遍历和排序(五)列表的嵌套二、元组(一)元组的创建(二)访问元组元素(三&#x... 查看详情

web前端开发笔记——第三章css语言第四节css列表表格样式(代码片段)

目录一、CSS列表样式(一)设计列表项前标志类型(二)设计列表项前标志位置(三)设计列表项图片(四)设计整体列表属性二、CSS表格样式(一)设计表格大小(二)设计表格边... 查看详情

《python从入门到实践》知识点总结归纳——第三章(代码片段)

1.列表简介1.1列表——在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素可以通过索引访问列表元素 print(bicycles[0])注:索引从0开始而不是1,要访问列表的任何元素,都可将其位置减1,通过将索引指定... 查看详情

微信小程序——云音乐界面(代码片段)

...一、任务分析二、常用组件介绍三、编写页面结构和样式第三章音乐推荐一、任务分析二、组件介绍三、编写音乐推荐页面结构和样式第四章播放器一、任务分析二、组件介绍三、实现播放器功能四、编写播放器页面第五章播放... 查看详情

最优化简介-第三节:最优化基本概念

文章目录一:最优化研究基本过程二:全局最优解和局部最优解三:优化算法(1)迭代算法(2)收敛问题(3)算法的渐进收敛速度(4)算法复杂度一:最优化研究基本过程最优化... 查看详情

最优化简介-第三节:最优化基本概念

文章目录一:最优化研究基本过程二:全局最优解和局部最优解三:优化算法(1)迭代算法(2)收敛问题(3)算法的渐进收敛速度(4)算法复杂度一:最优化研究基本过程最优化... 查看详情

reids学习列表list学习(代码片段)

...、简介二、常用命令三、数据结构一、简介单键多值Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是个双向链表,对两端... 查看详情

第十三章标准ip访问控制列表配置

一、实验名称标准IP访问控制列表配置二、实验内容1.新建PacketTracer拓扑图2.路由器之间通过V.35电缆通过串口连接,DCE端连接在R1上,配置其时钟频率64000;主机与路由器通过交叉线连接。3.配置路由器接口IP地址。4.在路由器上配... 查看详情

第三章cuda简介

?cudaMemcpy()不能用于过GPU系统中不同GPU之间的数据复制。 ?CUDA在用的是SPMD(Single-ProgramMultiple-Data) ?函数声明类型:格式调用位置执行位置 __device__foo() 设备设备 __global__foo() 主机设备 __host__foo() 主机主... 查看详情

inception系列第三篇~执行结果解析

一简介:本文对于inception的返回结果进行解析(参考的是inception官方手册)二参数简介:   1 ID 执行的解析树条数,按照自增顺序增长   2 stage 表示执行语句的步骤状态( NONE,CHECKED、EXECUTED、RER... 查看详情

第三章智慧工地包含功能,功能简介,应用场景和价值

...工地定义、背景、意义第二章 智慧工地行业相关政策第三章 智慧工地包含功能,功能简介,应用场景和价值第四章 智慧工地建设方案如何编写?第五章 智慧技术难点及问题都有哪些?第六章 智慧工地未来的... 查看详情

第三章xml简介

概念:XML:提供数据交换、系统配置、内容管理等的功能,可跨平台、跨网络、跨程序的数据描述方式。XSL:依靠XPath定位,提供显示模板,且专门为了显示XML文件信息的语言。CSS(层叠样式表):在网页中进行样式显示的语言。(若需... 查看详情

第三章智慧工地包含功能,功能简介,应用场景和价值

...工地定义、背景、意义第二章 智慧工地行业相关政策第三章 智慧工地包含功能,功能简介,应用场景和价值第四章 智慧工地建设方案如何编写?第五章 智慧工地技术方案如何编写?第六章 智慧技术难点及问... 查看详情

第三章 列表(b)无序列表

  查看详情