不用网站做淘宝客,沈阳男科医院在哪,co域名哪些网站,网站制作思路目录 2. 使用方法pop()删除元素
3. 弹出列表中任何位置处的元素
4. 根据值删除元素
3 章 列表简介
3.3 组织列表
3.3.1 使用方法 sort()对列表进行永久性排序
3.3.2 使用函数 sorted()对列表进行临时排序
3.3.3 倒着打印列表
3.3.4 确定列表的长度
3.5 小结 2. 使用方…目录 2. 使用方法pop()删除元素
3. 弹出列表中任何位置处的元素
4. 根据值删除元素
3 章 列表简介
3.3 组织列表
3.3.1 使用方法 sort()对列表进行永久性排序
3.3.2 使用函数 sorted()对列表进行临时排序
3.3.3 倒着打印列表
3.3.4 确定列表的长度
3.5 小结 2. 使用方法pop()删除元素
有时候你要将元素从列表中删除并接着使用它的值。例如你可能需要获取刚被射杀的 外星人的x和y坐标以便在相应的位置显示爆炸效果在Web应用程序中你可能要将用户从活 跃成员列表中删除并将其加入到非活跃成员列表中。
方法pop()可删除列表末尾的元素并让你能够接着使用它。术语弹出pop源自这样的类 比列表就像一个栈而删除列表末尾的元素相当于弹出栈顶元素。 下面从列表motorcycles中弹出一款摩托车
1 motorcycles [honda, yamaha, suzuki]
print(motorcycles)
2 popped_motorcycle motorcycles.pop()
3 print(motorcycles)
4 print(popped_motorcycle)
我们首先定义并打印了列表motorcycles见1。接下来我们从这个列表中弹出一个值 并将其存储到变量popped_motorcycle中见2。然后我们打印这个列表以核实从其中删除了 一个值见3。最后我们打印弹出的值以证明我们依然能够访问被删除的值见4。 输出表明列表末尾的值suzuki已删除它现在存储在变量popped_motorcycle中
[honda, yamaha, suzuki]
[honda, yamaha]
suzuki
方法pop()是怎么起作用的呢假设列表中的摩托车是按购买时间存储的就可使用方法 pop()打印一条消息指出最后购买的是哪款摩托车
motorcycles [honda, yamaha, suzuki]
last_owned motorcycles.pop()
print(The last motorcycle I owned was a last_owned.title() .)
输出是一个简单的句子指出了最新购买的是哪款摩托车
The last motorcycle I owned was a Suzuki
3. 弹出列表中任何位置处的元素
实际上你可以使用pop()来删除列表中任何位置的元素只需在括号中指定要删除的元素 的索引即可。
motorcycles [honda, yamaha, suzuki]
1 first_owned motorcycles.pop(0)
2 print(The first motorcycle I owned was a first_owned.title() .)
首先我们弹出了列表中的第一款摩托车见1然后打印了一条有关这辆摩托车的消息 见2。输出是一个简单的句子描述了我购买的第一辆摩托车
The first motorcycle I owned was a Honda.
别忘了每当你使用pop()时被弹出的元素就不再在列表中了。
如果你不确定该使用del语句还是pop()方法下面是一个简单的判断标准如果你要从列表 中删除一个元素且不再以任何方式使用它就使用del语句如果你要在删除元素后还能继续 使用它就使用方法pop()。
4. 根据值删除元素
有时候你不知道要从列表中删除的值所处的位
置。如果你只知道要删除的元素的值可使 用方法remove()。
例如假设我们要从列表motorcycles中删除值ducati。
motorcycles [honda, yamaha, suzuki, ducati]
print(motorcycles)
1 motorcycles.remove(ducati)
print(motorcycles)
1 处的代码让Python确定ducati出现在列表的什么地方并将该元素删除
[honda, yamaha, suzuki, ducati]
[honda, yamaha, suzuki]
使用remove()从列表中删除元素时也可接着使用它的值。下面删除值ducati并打印一 条消息指出要将其从列表中删除的原因
3 章 列表简介
1 motorcycles [honda, yamaha, suzuki, ducati]
print(motorcycles)
2 too_expensive ducati
3 motorcycles.remove(too_expensive)
print(motorcycles)
4 print(\nA too_expensive.title() is too expensive for me.)
在1处定义列表后我们将值ducati存储在变量too_expensive中见2。接下来我们 使用这个变量来告诉Python将哪个值从列表中删除见3。最后值ducati已经从列表中删除 但它还存储在变量too_expensive中见4让我们能够打印一条消息指出将ducati从列表 motorcycles中删除的原因
[honda, yamaha, suzuki, ducati]
[honda, yamaha, suzuki]
A Ducati is too expensive for me. 注意 方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次就需要 使用循环来判断是否删除了所有这样的值。你将在第7章学习如何这样做。 3.3 组织列表
在你创建的列表中元素的排列顺序常常是无法预测的因为你并非总能控制用户提供数据 的顺序。这虽然在大多数情况下都是不可避免的但你经常需要以特定的顺序呈现信息。有时候 你希望保留列表元素最初的排列顺序而有时候又需要调整排列顺序。Python提供了很多组织列 表的方式可根据具体情况选用。
3.3.1 使用方法 sort()对列表进行永久性排序
Python方法sort()让你能够较为轻松地对列表进行排序。假设你有一个汽车列表并要让其 中的汽车按字母顺序排列。为简化这项任务我们假设该列表中的所有值都是小写的。
cars.py
cars [bmw, audi, toyota, subaru]
1 cars.sort()
print(cars)
方法sort()见1永久性地修改了列表元素的排列顺序。现在汽车是按字母顺序排列的 再也无法恢复到原来的排列顺序
[audi, bmw, subaru, toyota]
你还可以按与字母顺序相反的顺序排列列表元素为此只需向sort()方法传递参数 reverseTrue。下面的示例将汽车列表按与字母顺序相反的顺序排列
cars [bmw, audi, toyota, subaru]
cars.sort(reverseTrue)
print(cars)
同样对列表元素排列顺序的修改是永久性的
[toyota, subaru, bmw, audi]
3.3.2 使用函数 sorted()对列表进行临时排序
要保留列表元素原来的排列顺序同时以特定的顺序呈现它们可使用函数sorted()。函数 sorted()让你能够按特定顺序显示列表元素同时不影响它们在列表中的原始排列顺序。
下面尝试对汽车列表调用这个函数。
cars [bmw, audi, toyota, subaru]
1 print(Here is the original list:)
print(cars)
2 print(\nHere is the sorted list:)
print(sorted(cars))
3 print(\nHere is the original list again:)
print(cars)
我们首先按原始顺序打印列表见1再按字母顺序显示该列表见2。以特定顺序显示 列表后我们进行核实确认列表元素的排列顺序与以前相同见3
Here is the original list:
[bmw, audi, toyota, subaru]
Here is the sorted list:
[audi, bmw, subaru, toyota]
4 Here is the original list again:
[bmw, audi, toyota, subaru]
注意调用函数sorted()后列表元素的排列顺序并没有变见4。如果你要按与字母顺 序相反的顺序显示列表也可向函数sorted()传递参数reverseTrue。 注意 在并非所有的值都是小写时按字母顺序排列列表要复杂些。决定排列顺序时有多种 解读大写字母的方式要指定准确的排列顺序可能比我们这里所做的要复杂。然而 大多数排序方式都基于本节介绍的知识。 3.3.3 倒着打印列表
要反转列表元素的排列顺序可使用方法reverse()。假设汽车列表是按购买时间排列的 可轻松地按相反的顺序排列其中的汽车
cars [bmw, audi, toyota, subaru]
print(cars)
cars.reverse()
print(cars)
注意reverse()不是指按与字母顺序相反的顺序排列列表元素而只是反转列表元素的排 列顺序
[bmw, audi, toyota, subaru]
[subaru, toyota, audi, bmw]
方法reverse()永久性地修改列表元素的排列顺序但可随时恢复到原来的排列顺序为此 只需对列表再次调用reverse()即可。
3.3.4 确定列表的长度
使用函数len()可快速获悉列表的长度。在下面的示例中列表包含4个元素因此其长度为4 cars [bmw, audi, toyota, subaru]len(cars)
4
在你需要完成如下任务时len()很有用确定还有多少个外星人未被射杀需要管理多少 项可视化数据网站有多少注册用户等。 注意 Python计算列表元素数时从1开始因此确定列表长度时你应该不会遇到差一错误。 3.4 使用列表时避免索引错误 刚开始使用列表时经常会遇到一种错误。假设你有一个包含三个元素的列表却要求获取 第四个元素
motorcycles [honda, yamaha, suzuki]
print(motorcycles[3])
这将导致索引错误
Traceback (most recent call last):File motorcycles.py, line 3, in moduleprint(motorcycles[3])
IndexError: list index out of range
Python试图向你提供位于索引3处的元素但它搜索列表motorcycles时却发现索引3处没有 元素。鉴于列表索引差一的特征这种错误很常见。有些人从1开始数因此以为第三个元素的 索引为3但在Python中第三个元素的索引为2因为索引是从0开始的。
索引错误意味着Python无法理解你指定的索引。程序发生索引错误时请尝试将你指定的索 引减1然后再次运行程序看看结果是否正确。
别忘了每当需要访问最后一个列表元素时都可使用索引-1。这在任何情况下都行之有效 即便你最后一次访问列表后其长度发生了变化
motorcycles [honda, yamaha, suzuki]
print(motorcycles[-1])
索引-1总是返回最后一个列表元素这里为值suzuki
suzuki 仅当列表为空时这种访问最后一个元素的方式才会导致错误
motorcycles []
print(motorcycles[-1])
列表motorcycles不包含任何元素因此Python返回一条索引错误消息
Traceback (most recent call last):File motorcyles.py, line 3, in moduleprint(motorcycles[-1])
IndexError: list index out of range 注意 发生索引错误却找不到解决办法时请尝试将列表或其长度打印出来。列表可能与你以 为的截然不同在程序对其进行了动态处理时尤其如此。通过查看列表或其包含的元素 数可帮助你找出这种逻辑错误。 3.5 小结
在本章中你学习了列表是什么以及如何使用其中的元素如何定义列表以及如何增删元 素如何对列表进行永久性排序以及如何为展示列表而进行临时排序如何确定列表的长度 以及在使用列表时如何避免索引错误。 在第4章你将学习如何以更高效的方式处理列表元素。通过使用为数不多的几行代码来遍 历列表元素你就能高效地处理它们即便列表包含数千乃至数百万个元素。 Python核心知识点整理大全3-笔记-CSDN博客
Python核心知识点整理大全2-笔记-CSDN博客
Python核心知识点整理大全1-笔记-CSDN博客
往期快速传送门在文章最后