【Python】《python基础教程》学习笔记2(下)

版权声明:本文为博主原创文章,想转载告诉一声。 https://blog.csdn.net/u012318329/article/details/67631668

第二章 列表和元组

2.3 列表:Python中的“苦力”

不同于元组和字符串,列表是可变的。

2.3.1 list函数

list()函数的功能是根据字符串创建列表。


图1.list函数的应用。

与之可以进行类比的是join()函数。


图2.join函数的应用。

join()函数可以将列表转换为字符串,但是列表中如果有数字,则不能转换。

2.3.2 基本表的列表操作

1.改变列表:元素赋值


图3.改变列表中的元素。

2.删除元素

删除元素用【del语句】来实现。


图4.删除列表中的元素。

del语句还用于删除其他元素、字典元素甚至是其他变量的删除操作。

3.分片赋值

分片赋值可以进行不等长的【替换】。


图5.利用分片进行赋值操作(替换)。

分片赋值还可以在不替换任何元素的情况下进行【插入】。


图6.利用分片进行赋值操作(插入)。

分片赋值也可以进行元素的【删除】。

图7.利用分片进行赋值操作(删除)。

2.3.3列表方法

方法是一个与某些对象有紧密联系的【函数】,对象可能是列表、数字,也可能是字符串或者其他类型的对象。

一般来说,方法可以这样进行调用:对象.方法(参数)。

1.append

append方法用于在列表末尾追加新的对象(一个)。


图8.append方法。

2.count

count方法统计某个元素在列表中出现的次数。


图9.count方法。

3.extend

extend方法可以在列表的末尾一次性追加另一个序列中的多个值。

在此之前先回顾一下append方法。

如下图所示,append方法每次只能追加一个元素。

append方法的参数可以是数字元素,也可以是一个序列。


图10.append方法每次只能追加一个元素。

想要追加多个元素,就要用到extend方法。

但如下图,extend方法的参数只能是序列,数字等元素不能作为extend方法的参数。


图11.extend方法。

其实此方法可以用分片来实现。

4.index

index方法用于从列表中找出某个值第一个匹配项的索引位置。

index搜索不到时会引发一个异常,同时其不支持大小写匹配。


图12.index方法。

5.insert

insert方法用于将对象插入到表中。


图13.insert方法。

同理,此方法也可以用分片来实现。

6.pop

pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值。

pop方法的参数是要移除元素的索引值,所以不支持超过其范围的值,但是支持负数。


图14.pop方法。

pop方法是唯一以一个既能修改列表,又能返回元素值的列表方法。

7.remove

remove值用于移除列表中某个值得第一个匹配项。


图15.remove方法。

8.reverse

reverse方法将列表中的元素反向存放。


图16.reverse方法。

9.sort

sort方法用于在原位置对列表进行排序。


图17.sort方法。

在原位置排序意味着改变原来的列表,从而让其中的元素能按照一定的顺序排列,而不是简单地返回一个已排序的列表副本。

例:用户需要既能对列表进行排序,又保留原来列表不变。

错误的方法1:sort()修改了x却返回了空值,赋给y的值为None。


图18.错误的方法1。

错误的方法2:简单的把x赋值给y,会让x和y都指向同一个列表。


图19.错误的方法2。

方法3:把x的副本赋值给y,然后对y进行排序。


图20.正确的方法3。

方法4:采用sorted()函数。sorted()函数能够返回一个列表的已排序的副本,从而在不改变原来列表的额基础上对其进行排序。


图21.正确的方法4。

10.高级排序

sort有三种可选的参数,其一是cmp,它是默认参数,不填也是一样。

其二是key值,比如key=len时,就按照元素的长短进行排序。

其三是reverse值,它是简单的布尔值,用于判断排序之后是否需要再进行反向排序。


图22.sort方法的三个参数使用效果。

2.4 元组:不可变序列

元组与列表一样,也是一种序列。唯一的不同是元组不能修改,所以元组也没有像列表一样的方法。

元组的创建语法很简单,如果你用逗号分隔了一些值,那么你就自动创建了元组。


图23.元组的创建、赋值操作。

2.4.1 tuple函数

tuple函数的动能和list函数类似,以一个序列(字符串、列表、元组)做参数并把其转换为元组。


图24.list函数、tuple函数的用法相似。

2.4.2 基本元组操作

基本的元组操作只有【创建】和【访问】。


图25.基本元组操作。

2.4.3 那么,意义何在

元组的不可替代性取决于以下两点:

1.元组可以在映射(集合的成员)中当键使用,列表则不行。

2.元组作为很多内建方法的返回值存在。

没有更多推荐了,返回首页