py基础(3)列表
在py(1):http://www.cnblogs.com/nianqiantuling/p/9020920.html中,我们讲解了数据类型中的数字(int和float)、字符串(str),以及布尔值(bool),而今天则讲的则是另一种数据类型,列表,在py中用list表示。通过列表,我们可以对数据实现储存修改等操作。
列表可以放置任意的东西,就像是一个书柜,既可以摆放各类书籍,还可以放饰品、杯子等日用。
1.列表与type函数
>>> [1, 2.5, 'name', "Jake"] ;; 创建一个新的列表, 在py中两个对应的中括号是列表的格式。中括号里面的是列表的元素。 [1, 2.5, 'name', 'Jake'] >>> [] ;; 创建空list

可以包含int,float,str等常见的数据类型。
>>> name = [1, 2.5, 'name', "Jake"] ;; 创建一个列表,并命名为name >>> name [1, 2.5, 'name', 'Jake'] >>> name[0] ;; 这里的0是索引的意思,会返回名为name的列表中的第0个元素 1 >>> name[1] ;; 在计算机中从0开始,也就是我们习惯上称的第1位,依次,计算机中的1对应的是习惯上称的2。 2.5 >>> name[-1] ;; -1,也就是索引倒数第一个元素 'Jake' >>> name[-2] 'name'

1.1分片
分片,是指如果你想要获取列表中某个范围中的元素时,所采用的方法。分片中一共有三个参数,分别是从获取元素的开始、获取元素的结束以及步长(隔几个获取一次元素)

>>> name = [1, 2.5, 'name', "Jake"] >>> name [1, 2.5, 'name', 'Jake']

1 >>> name[0:1] ;; 从索引0处开始,到索引1处结尾,但不包括索引1所对应的元素,分片第三个参数若无,则默认为1 2 [1] 3 >>> name[0:2] ;; 索引0至索引2,不包含索引2 4 [1, 2.5] 5 >>> name[0:] ;; 从索引0开始,第二个参数无,则取从0开始剩下的所有元素 6 [1, 2.5, 'name', 'Jake'] 7 >>> name[:-1] ;; 第一个参数无,则从0开始索引至-1个参数。 8 [1, 2.5, 'name'] 9 >>> name[:] ;; 第一、二参数都无,则默认所有 10 [1, 2.5, 'name', 'Jake'] 11 >>> name[::2] ;; 第三个参数为2,即获取列表从头到尾所有元素,但要从0开始,隔一个取一个元素 12 [1, 'name'] 13 >>> name[::-1] ;; 取所有元素,但要倒着来取 14 ['Jake', 'name', 2.5, 1]
1.2 type函数,用来查看元素的类型
>>> type(1) ;; 数字1为int类型,class就是类型的意思 <class 'int'> >>> type(2.5) ;; 2.5为float类型,即浮点数 <class 'float'> >>> type('name') ;; 'name'为str,字符串 <class 'str'> >>> type(name) ;; 由于上面咱们定义了一个名叫name的列表,所以这里是判断name的类型,注意:这个没有引号,不是str <class 'list'>
2.list的函数
1 ;; 修改元素 2 >>> name 3 [1, 2.5, 'name', 'Jake'] 4 >>> name[0] = "JakeOne" ;; 改变索引0的元素为"JakeOne" 5 >>> name 6 ['JakeOne', 2.5, 'name', 'Jake'] 7 8 ;; 在指定位置添加元素 9 >>> name.insert(0, "JakeTwo") ;; insert(插入位置,插入元素内容) 10 >>> name 11 ['JakeTwo', 'JakeOne', 2.5, 'name', 'Jake'] 12 13 ;; 删除指定位置的元素 14 >>> del name[0] 15 >>> name 16 ['JakeOne', 2.5, 'name', 'Jake'] 17 18 ;; 方法1 19 >>> del name ;; 删除整个列表 20 >>> name 21 Traceback (most recent call last): ;; 发生报错,因为name已经删除,故无法引用 22 File "<pyshell#47>", line 1, in <module> 23 name 24 NameError: name 'name' is not defined 25 26 ;; 方法2 27 >>> name = [1, 2.5, 'name', "Jake"] 28 >>> name.clear() ;; 删除list中所有元素,现在变成了无元素的空list 29 >>> name 30 [] 31 32 ;; 方法3 33 >>> name = [1, 2.5, 'name', "Jake"] 34 >>> name.pop() ;; 删除指定索引的元素,若无,则默认索引为-1,并返回-1所在的元素 35 'Jake' 36 >>> name 37 [1, 2.5, 'name'] 38 >>> name.pop(0) 39 1 40 >>> name 41 [2.5, 'name'] 42 43 ;; 查找元素,知道元素名字 44 >>> name = [1, 2.5, 'name', "Jake"] 45 >>> name.index("name") ;; 返回元素名为"name"的索引值 46 2 47 48 :: 排序 49 ;; 方法1 50 >>> name = [0.5, -1, 100, 5, 9] 51 >>> sorted(name) 52 [-1, 0.5, 5, 9, 100] 53 54 ;; 方法2 55 >>> name.sort() ;; 不设置reverse则默认为False 56 >>> name 57 [-1, 0.5, 5, 9, 100] 58 >>> name.sort(reverse=True) ;; 设置参数为True,则倒序排列 59 >>> name 60 [100, 9, 5, 0.5, -1]
延伸链接:http://www.runoob.com/python/python-lists.html

浙公网安备 33010602011771号