摘要:上一篇Python从入门到放弃-运算符(2),讲了Python的运算符中的逻辑运算符、位运算符和成员运算符,这篇开始讲Python的序列和列表。
什么叫序列
序列是一块用于存放多个值的连续内存空间,而且按一定顺序排列,每一个值(称为元素)都分配一个数字,称为索引或位置。通过该索引可以取出相应的值。例如:我们可以把一家酒店看做一个序列,那么酒店里的每个房间都可以看做是这个序列的元素。房间号就相当于索引,可以通过房间号找到对应的房间。
在Python中,序列结构主要有列表,元祖,集合,字典和字符串等。序列的操作通常有索引,切片,序列相加,乘法,检查某个元素是否在序列中,计算序列的长度、最大值和最小值。
列表
列表是最常用的Python数据类型,它是可变序列。在形式上,列表的所有元素都放在一对中括号"[]"中,两个相邻元素间使用逗号分隔。在内容上,可以将整数,实数,字符串,列表,元祖等任何类型的内容放在列表中,而且同一个列表中,元素的数据类型可以不同,因为他们之间没有任何关系。Python的列表是非常灵活的,这和其他语言是不同的。
创建一个列表,如下所示:
访问列表中的元素
上面提到:序列的操作通常有索引,切片,序列相加,乘法,检查某个元素是否在序列中等。这里演示列表的索引方式,切片方式访问列表,取列表中的元素。
更新列表中的元素
我们可以对列表的数据项进行修改或插入,也可以使用append()方法来添加列表项,如下所示:
删除列表中的元素
我们可以对列表的数据项进行删除,可以使用pop方法,也可以使用del方法,或者remove方法。
那它们的区别是什么?pop默认是删除list的最后一个元素,但也可以删除指定元素的位置用pop(i)实现。del可以删除整个list,也可以删除列表中的元素,del list删除整个列表,del list[i]删除列表中的某个元素。remove是删除一个不确定的元素位置用的,list.remove(list具体内容)。
那del 是一个语句,它直接销毁list1[2]这个对象,del 的速度更快,在使用del时:python的内部调用是直接调用字节码,因为它是一个语句。而使用remove,或者pop时,调用的是函数,调用字节码的时间肯定比调用函数的快。
对列表进行排序
Python提供了两种方法对list进行排序,使用列表对象的sort()方法和使用内置的sorted()函数。
使用列表对象的sort()方法会改变原列表的元素排列顺序,而sorted()方法会建立一个原列表的副本,对副本进行排序后返回。
聪明的你想必已经懂了sort()方法和sorted()方法的区别了。它们的语法格式可以进行百度一下。
总结
- 介绍了什么叫序列,序列的结构和通常操作。
- 具体讲了序列中的list,list中的访问,更新,删除方法和删除中几种方法区别和效率的对比。
- 对list进行排序的sort()方法和sorted()方法的讲解和区别。